BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/MdcGeomSvc/MdcGeomSvc-00-01-37/MdcGeomSvc/MdcGeoWire.h
Go to the documentation of this file.
1// $Id: MdcGeoWire.h,v 1.6 2010/03/26 00:45:11 zhangy Exp $ // -*-c++-*-
2// header file for a class called "MdcGeoWire"
3#ifndef MDC_GEO_WIRE_H
4#define MDC_GEO_WIRE_H
5
6#include <CLHEP/Geometry/Point3D.h>
7#include <iostream>
8#include "MdcGeomSvc/MdcGeoLayer.h"
9#ifndef ENABLE_BACKWARDS_COMPATIBILITY
11#endif
12
13using namespace CLHEP;
14
15
16class MdcGeoWire {
17
18 public:
19 // Constructor.
21 : fId(0),
22 fSlant(0),
23 fnomSlant(0),
24 fCell(0),
25 fLayer(0),
26 fStat(0)
27 {
28 HepPoint3D O(0,0,0);
29 fBackward=O;
30 fForward=O;
31 fBwirepos=O;
32 fFwirepos=O;
33 fnomBackward=O;
34 fnomForward=O;
35 fLyr=NULL;
36 }
37
38 // Copy and Assignment
40 fId=e.Id();
41 fBackward=e.Backward();
42 fForward=e.Forward();
43 fBwirepos=e.BWirePos();
44 fFwirepos=e.FWirePos();
45 fSlant=e.Slant();
46 fCell=e.Cell();
47 fLayer=e.Layer();
48 fStat=e.Stat();
49 fLyr=e.Lyr();
50 };
51
53 if(this!=&e)
54 {
55 fId=e.Id();
56 fBackward=e.Backward();
57 fForward=e.Forward();
58 fBwirepos=e.BWirePos();
59 fFwirepos=e.FWirePos();
60 fSlant=e.Slant();
61 fCell=e.Cell();
62 fLayer=e.Layer();
63 fStat=e.Stat();
64 fLyr=e.Lyr();
65 }
66 return *this;
67 }
68
69 // Destructor
71
72 public: // Extractors
73 int Id(void) const;
74 HepPoint3D Backward(void) const;
75 HepPoint3D Forward(void) const;
76 HepPoint3D BWirePos(void) const;
77 HepPoint3D FWirePos(void) const;
78 double Slant(void) const;
81 double nomSlant(void) const;
82 double Tension(void) const;
83 const double Sag(void) const;
84 const double Sagz(const double z) const;
85
86 int Cell(void) const;
87 int Layer(void) const;
88 int Stat(void) const;
89 MdcGeoLayer * Lyr(void) const;
90
91 public: // Modifiers
92 int Id(int);
97 double Slant(double);
100 double nomSlant(double);
101 double Tension(double);
102
103 int Cell(int);
104 int Layer(int);
105 int Stat(int);
107
108 private:
109 int fId;
110 HepPoint3D fBackward; //wire position at backward endplate (mm)
111 HepPoint3D fForward; //wire position at forward endplate (mm)
112 HepPoint3D fBwirepos; //wire position at backward endplate (mm)
113 HepPoint3D fFwirepos; //wire position at forward endplate (mm)
114 double fSlant; //slant angle of wire (rad)
115 HepPoint3D fnomBackward; //nominal wire position at backward endplate (mm)
116 HepPoint3D fnomForward; //nominal wire position at forward endplate (mm)
117 double fnomSlant; //nominal slant angle of wire (rad)
118 double fTension; // the tension of wire
119
120 int fCell; //#cell
121 int fLayer; //#layer
122 int fStat; //status (32 bits)
123 MdcGeoLayer * fLyr;
124};
125
126// Extractors
127inline int MdcGeoWire::Id(void) const { return fId; }
128inline HepPoint3D MdcGeoWire::Backward(void) const { return fBackward;}
129inline HepPoint3D MdcGeoWire::Forward(void) const { return fForward;}
130inline HepPoint3D MdcGeoWire::BWirePos(void) const { return fBwirepos;}
131inline HepPoint3D MdcGeoWire::FWirePos(void) const { return fFwirepos;}
132inline double MdcGeoWire::Slant(void) const { return fSlant; }
133inline HepPoint3D MdcGeoWire::nomBackward(void) const { return fnomBackward;}
134inline HepPoint3D MdcGeoWire::nomForward(void) const { return fnomForward;}
135inline double MdcGeoWire::nomSlant(void) const { return fnomSlant; }
136inline double MdcGeoWire::Tension(void) const { return fTension;}
137inline int MdcGeoWire::Cell(void) const { return fCell; }
138inline int MdcGeoWire::Layer(void) const { return fLayer; }
139inline int MdcGeoWire::Stat(void) const { return fStat; }
140inline MdcGeoLayer* MdcGeoWire::Lyr(void) const { return fLyr; }
141
142// Modifiers
143inline int MdcGeoWire::Id(int i) {return fId=i;}
144inline HepPoint3D MdcGeoWire::Backward(HepPoint3D i) {return fBackward=i;}
145inline HepPoint3D MdcGeoWire::Forward(HepPoint3D i) {return fForward=i;}
146inline HepPoint3D MdcGeoWire::BWirePos(HepPoint3D i) {return fBwirepos=i;}
147inline HepPoint3D MdcGeoWire::FWirePos(HepPoint3D i) {return fFwirepos=i;}
148inline HepPoint3D MdcGeoWire::nomBackward(HepPoint3D i) {return fnomBackward=i;}
149inline HepPoint3D MdcGeoWire::nomForward(HepPoint3D i) {return fnomForward=i;}
150inline double MdcGeoWire::Slant(double i) {return fnomSlant=i;}
151inline double MdcGeoWire::nomSlant(double i) {return fnomSlant=i;}
152inline double MdcGeoWire::Tension(double i) {return fTension=i;}
153inline int MdcGeoWire::Cell(int i) {return fCell=i;}
154inline int MdcGeoWire::Layer(int i) {return fLayer=i;}
155inline int MdcGeoWire::Stat(int i) {return fStat=i;}
156inline MdcGeoLayer* MdcGeoWire::Lyr(MdcGeoLayer* i) {return fLyr = i;}
157
158#endif /* MdcGeoWire_CLASS */
159
HepGeom::Point3D< double > HepPoint3D
HepPoint3D nomBackward(HepPoint3D)
HepPoint3D nomForward(HepPoint3D)
double Slant(double)
int Layer(int)
HepPoint3D FWirePos(HepPoint3D)
const double Sag(void) const
MdcGeoWire & operator=(const MdcGeoWire &e)
int Cell(int)
const double Sagz(const double z) const
double Tension(double)
double nomSlant(double)
HepPoint3D nomForward(void) const
HepPoint3D nomBackward(void) const
HepPoint3D BWirePos(HepPoint3D)
double Tension(void) const
HepPoint3D Backward(HepPoint3D)
int Id(int)
int Stat(int)
HepPoint3D Forward(HepPoint3D)
double nomSlant(void) const
MdcGeoLayer * Lyr(MdcGeoLayer *)