CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
MdcGeomSvc-00-01-42/MdcGeomSvc/MdcGeoGeneral.h
Go to the documentation of this file.
1// $Id: MdcGeoGeneral.h,v 1.2 2015/10/22 06:21:15 wulh Exp $ // -*-c++-*-
2// a template header file for a class called "MdcGeoGeneral"
3#ifndef MDC_GEO_GENERAL_H
4#define MDC_GEO_GENERAL_H
5
6#include <CLHEP/Geometry/Point3D.h>
7#include <iostream>
8#include <string>
9#ifndef ENABLE_BACKWARDS_COMPATIBILITY
11#endif
12
13using namespace CLHEP;
14using namespace std;
15class MdcGeoGeneral {
16
17 public:
18 // Constructor.
19 MdcGeoGeneral():fId(0),fRadius(0),fLength(0),fNCell(0),fOffset(0),fnomOffset(0),fShift(0),fnomShift(0),fTwistF(0),fTwistB(0),fPhi(0),fnomPhi(0),fFirst(0),
20 fSxEast(0.),fSyEast(0.),fSzEast(0.),fRxEast(0.),fRyEast(0.),fRzEast(0.),fSxWest(0.),fSyWest(0.),fSzWest(0.),fRxWest(0.),fRyWest(0.),fRzWest(0.)
21 {
22 HepPoint3D O(0,0,0);
23 fOffF=O;
24 fOffB=O;
25 };
26 // Copy and Assignment
28 fId=e.Id();
29 fLayerName=e.LayerName();
30 fRadius=e.Radius();
31 fLength=e.Length();
32 fNCell=e.NCell();
33 fOffset=e.Offset();
34 fShift=e.Shift();
35 fnomOffset=e.nomOffset();
36 fnomShift=e.nomShift();
37 fTwistF=e.TwistF();
38 fTwistB=e.TwistB();
39 fOffF=e.OffF();
40 fOffB=e.OffB();
41 fPhi=e.Phi();
42 fnomPhi=e.nomPhi();
43 fFirst=e.First();
44 fSxEast=e.SxEast();
45 fSyEast=e.SyEast();
46 fSzEast=e.SzEast();
47 fRxEast=e.RxEast();
48 fRyEast=e.RyEast();
49 fRzEast=e.RzEast();
50
51 fSxWest=e.SxWest();
52 fSyWest=e.SyWest();
53 fSzWest=e.SzWest();
54 fRxWest=e.RxWest();
55 fRyWest=e.RyWest();
56 fRzWest=e.RzWest();
57 };
59 if(this!=&e)
60 {
61 fId=e.Id();
62 fLayerName=e.LayerName();
63 fLength=e.Length();
64 fRadius=e.Radius();
65 fNCell=e.NCell();
66 fOffset=e.Offset();
67 fShift=e.Shift();
68 fnomOffset=e.nomOffset();
69 fnomShift=e.nomShift();
70 fTwistF=e.TwistF();
71 fTwistB=e.TwistB();
72 fOffF=e.OffF();
73 fOffB=e.OffB();
74 fPhi=e.Phi();
75 fnomPhi=e.nomPhi();
76 fFirst=e.First();
77 fSxEast=e.SxEast();
78 fSyEast=e.SyEast();
79 fSzEast=e.SzEast();
80 fRxEast=e.RxEast();
81 fRyEast=e.RyEast();
82 fRzEast=e.RzEast();
83
84 fSxWest=e.SxWest();
85 fSyWest=e.SyWest();
86 fSzWest=e.SzWest();
87 fRxWest=e.RxWest();
88 fRyWest=e.RyWest();
89 fRzWest=e.RzWest();
90 }
91 return *this;
92 }
93
94 // Destructor
96
97 public: // Extractors
98 int Id(void) const;
99 string LayerName(void) const;
100 double Radius(void) const;
101 double Length(void) const;
102 int NCell(void) const;
103 double Offset(void) const;
104 double Shift(void) const;
105 double nomOffset(void) const;
106 double nomShift(void) const;
107 double TwistF(void) const;
108 double TwistB(void) const;
109 double Phi(void) const;
110 double nomPhi(void) const;
111 int First(void) const;
112 HepPoint3D OffF(void) const;
113 HepPoint3D OffB(void) const;
114 double SxEast(void) const;
115 double SyEast(void) const;
116 double SzEast(void) const;
117 double RxEast(void) const;
118 double RyEast(void) const;
119 double RzEast(void) const;
120
121 double SxWest(void) const;
122 double SyWest(void) const;
123 double SzWest(void) const;
124 double RxWest(void) const;
125 double RyWest(void) const;
126 double RzWest(void) const;
127
128 public: // Modifiers
129 int Id(int);
130 string LayerName(string i);
131 double Radius(double);
132 double Length(double);
133 int NCell(int);
134 double Offset(double);
135 double Shift(double);
136 double nomOffset(double);
137 double nomShift(double);
138
139 double TwistF(double);
140 double TwistB(double);
141 double Phi(double);
142 double nomPhi(double);
143 int First(int);
146 double SxEast(double);
147 double SyEast(double);
148 double SzEast(double);
149 double RxEast(double);
150 double RyEast(double);
151 double RzEast(double);
152
153 double SxWest(double);
154 double SyWest(double);
155 double SzWest(double);
156 double RxWest(double);
157 double RyWest(double);
158 double RzWest(double);
159
160
161 private:
162 int fId;
163 string fLayerName; //name of layer
164 double fRadius; //radius of layer(mm)
165 double fLength; //wire length of the layer(mm)
166 int fNCell; //# of cells of that layer
167 double fOffset; // offset at endplate (unit in cell)
168 double fnomOffset; // nominal offset at endplate (unit in cell)
169 double fShift; //# of cells to be shifte at forward w.r.t. backward endplate
170 double fnomShift; //nominal # of cells to be shifte at forward w.r.t. backward endplate
171 double fTwistF; //twist angle for fwrd (rad)
172 double fTwistB; //twist angle for bckwrd (rad)
173 double fPhi; //Phi on East Endplate
174 double fnomPhi; //nominal Phi on East Endplate
175 int fFirst; //0: first is field wire; 1: signal wire.
176 double fSxEast;
177 double fSyEast;
178 double fSzEast;
179 double fRxEast;
180 double fRyEast;
181 double fRzEast;
182
183 double fSxWest;
184 double fSyWest;
185 double fSzWest;
186 double fRxWest;
187 double fRyWest;
188 double fRzWest;
189 HepPoint3D fOffF; //Offset of fwrd wire
190 HepPoint3D fOffB; //Offset of bckwrd wire
191};
192
193//-----------------------------------------------------
194// Extractors
195inline int MdcGeoGeneral::Id(void) const { return fId; }
196inline string MdcGeoGeneral::LayerName(void) const { return fLayerName; }
197inline double MdcGeoGeneral::Radius(void) const { return fRadius; }
198inline double MdcGeoGeneral::Length(void) const { return fLength; }
199inline int MdcGeoGeneral::NCell(void) const { return fNCell; }
200inline double MdcGeoGeneral::Offset(void) const { return fOffset; }
201inline double MdcGeoGeneral::Shift(void) const { return fShift; }
202inline double MdcGeoGeneral::nomOffset(void) const { return fnomOffset; }
203inline double MdcGeoGeneral::nomShift(void) const { return fnomShift; }
204inline double MdcGeoGeneral::TwistF(void) const { return fTwistF; }
205inline double MdcGeoGeneral::TwistB(void) const { return fTwistB; }
206inline double MdcGeoGeneral::Phi(void) const { return fPhi; }
207inline double MdcGeoGeneral::nomPhi(void) const { return fnomPhi; }
208inline int MdcGeoGeneral::First(void) const { return fFirst; }
209inline HepPoint3D MdcGeoGeneral::OffF(void) const { return fOffF;}
210inline HepPoint3D MdcGeoGeneral::OffB(void) const { return fOffB;}
211inline double MdcGeoGeneral::SxEast(void) const { return fSxEast; }
212inline double MdcGeoGeneral::SyEast(void) const { return fSyEast; }
213inline double MdcGeoGeneral::SzEast(void) const { return fSzEast; }
214inline double MdcGeoGeneral::RxEast(void) const { return fRxEast; }
215inline double MdcGeoGeneral::RyEast(void) const { return fRyEast; }
216inline double MdcGeoGeneral::RzEast(void) const { return fRzEast; }
217
218inline double MdcGeoGeneral::SxWest(void) const { return fSxWest; }
219inline double MdcGeoGeneral::SyWest(void) const { return fSyWest; }
220inline double MdcGeoGeneral::SzWest(void) const { return fSzWest; }
221inline double MdcGeoGeneral::RxWest(void) const { return fRxWest; }
222inline double MdcGeoGeneral::RyWest(void) const { return fRyWest; }
223inline double MdcGeoGeneral::RzWest(void) const { return fRzWest; }
224
225// Modifiers
226inline int MdcGeoGeneral::Id(int i) { return fId=i; }
227inline string MdcGeoGeneral::LayerName(string i) { return fLayerName = i; }
228inline double MdcGeoGeneral::Radius(double i) { return fRadius=i; }
229inline double MdcGeoGeneral::Length(double i) { return fLength=i; }
230inline int MdcGeoGeneral::NCell(int i) { return fNCell=i; }
231inline double MdcGeoGeneral::Offset(double i) { return fOffset=i; }
232inline double MdcGeoGeneral::Shift(double i) { return fShift=i; }
233inline double MdcGeoGeneral::nomOffset(double i) { return fnomOffset=i; }
234inline double MdcGeoGeneral::nomShift(double i) { return fnomShift=i; }
235
236inline double MdcGeoGeneral::TwistF(double i) { return fTwistF=i; }
237inline double MdcGeoGeneral::TwistB(double i) { return fTwistB=i; }
238inline double MdcGeoGeneral::Phi(double i) { return fPhi=i; }
239inline double MdcGeoGeneral::nomPhi(double i) { return fnomPhi=i; }
240
241inline int MdcGeoGeneral::First(int i) { return fFirst=i; }
242inline HepPoint3D MdcGeoGeneral::OffF(HepPoint3D i) { return fOffF=i;}
243inline HepPoint3D MdcGeoGeneral::OffB(HepPoint3D i) { return fOffB=i;}
244
245inline double MdcGeoGeneral::SxEast(double i) { return fSxEast=i; }
246inline double MdcGeoGeneral::SyEast(double i) { return fSyEast=i; }
247inline double MdcGeoGeneral::SzEast(double i) { return fSzEast=i; }
248inline double MdcGeoGeneral::RxEast(double i) { return fRxEast=i; }
249inline double MdcGeoGeneral::RyEast(double i) { return fRyEast=i; }
250inline double MdcGeoGeneral::RzEast(double i) { return fRzEast=i; }
251
252inline double MdcGeoGeneral::SxWest(double i) { return fSxWest=i; }
253inline double MdcGeoGeneral::SyWest(double i) { return fSyWest=i; }
254inline double MdcGeoGeneral::SzWest(double i) { return fSzWest=i; }
255inline double MdcGeoGeneral::RxWest(double i) { return fRxWest=i; }
256inline double MdcGeoGeneral::RyWest(double i) { return fRyWest=i; }
257inline double MdcGeoGeneral::RzWest(double i) { return fRzWest=i; }
258
259
260//-----------------------------------------------------
261
262#endif /* MdcGeoGeneral_CLASS */
263
HepGeom::Point3D< double > HepPoint3D
double RxWest(double)
double nomOffset(double)
double Offset(double)
double RyEast(double)
HepPoint3D OffB(HepPoint3D)
double Radius(double)
double Shift(double)
double RxEast(double)
double Length(double)
double nomPhi(double)
double RzWest(double)
int First(int)
string LayerName(string i)
double RyWest(double)
double SyWest(double)
HepPoint3D OffF(HepPoint3D)
MdcGeoGeneral & operator=(const MdcGeoGeneral &e)
double SxEast(double)
double Phi(double)
double SyEast(double)
double TwistF(double)
double SzEast(double)
double TwistB(double)
double nomShift(double)
double SzWest(double)
int NCell(int)
double RzEast(double)
double SxWest(double)