GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
TrackerPlanesLayerLayout.h
1 // -*- C++ -*-
2 #ifndef GEAR_TrackerPlanesLAYERLAYOUT_H
3 #define GEAR_TrackerPlanesLAYERLAYOUT_H 1
4 
5 #include <vector>
6 #include <string>
7 
8 #include <cstdio>
9 #include <iostream>
10 #include <iomanip>
11 
12 
13 namespace gear {
14 
20 class TrackerPlanesLayerImpl;
21 
23 
24 
25 public:
27  virtual ~TrackerPlanesMaterialLayer() { /* nop */; }
28 
29  virtual int getID() const = 0;
30 
32  virtual std::string getInfo() const = 0;
33 
37  virtual double getRadLength() const = 0;
38 
42  virtual double getPositionX() const = 0;
43 
47  virtual double getPositionY() const = 0;
48 
52  virtual double getPositionZ() const = 0;
53 
57  virtual double getRotationXY() const = 0;
58 
62  virtual double getRotationZX() const = 0;
63 
67  virtual double getRotationZY() const = 0;
68 
69 
72  virtual void setID(int value) = 0;
73 
75  virtual void setInfo(std::string value) = 0;
76 
79  virtual void setRadLength( double value) = 0;
80 
83  virtual void setPositionX( double value) = 0;
84 
87  virtual void setPositionY( double value) = 0;
88 
91  virtual void setPositionZ( double value) = 0;
92 
95  virtual void setRotationXY( double value) = 0;
96 
99  virtual void setRotationZX( double value) = 0;
100 
103  virtual void setRotationZY( double value) = 0;
104 
107  virtual void setSizeX( double value) = 0;
108 
111  virtual void setSizeY( double value) = 0;
112 
115  virtual void setThickness( double value) = 0;
116 
117 
121  virtual double getSizeX() const = 0;
122 
126  virtual double getSizeY() const = 0;
127 
131  virtual double getThickness() const = 0;
132 
133 };
134 
136 
137 
138 public:
140  virtual ~TrackerPlanesSensitiveLayer() { /* nop */; }
141 
142 
145  virtual int getID() const = 0;
146 
148  virtual std::string getInfo() const = 0;
149 
153  virtual double getPositionX() const = 0;
154 
158  virtual double getPositionY() const = 0;
159 
163  virtual double getPositionZ() const = 0;
164 
168  virtual double getRotationXY() const = 0;
169 
173  virtual double getRotationZX() const = 0;
174 
178  virtual double getRotationZY() const = 0;
179 
183  virtual double getSizeX() const = 0;
184 
188  virtual double getSizeY() const = 0;
189 
193  virtual double getThickness() const = 0;
194 
198  virtual double getRadLength() const = 0;
199 
203  virtual int getNpixelX() const = 0;
204 
208  virtual int getNpixelY() const = 0;
209 
213  virtual double getPitchX() const = 0;
214 
218  virtual double getPitchY() const = 0;
219 
223  virtual double getResolutionX() const = 0;
224 
228  virtual double getResolutionY() const = 0;
229 
230 
233  virtual void setID(int value) = 0;
234 
236  virtual void setInfo(std::string value) = 0;
237 
240  virtual void setRadLength( double value) = 0;
241 
244  virtual void setPositionX( double value) = 0;
245 
248  virtual void setPositionY( double value) = 0;
249 
252  virtual void setPositionZ( double value) = 0;
253 
256  virtual void setRotationXY( double value) = 0;
257 
260  virtual void setRotationZX( double value) = 0;
261 
264  virtual void setRotationZY( double value) = 0;
265 
268  virtual void setSizeX( double value) = 0;
269 
272  virtual void setSizeY( double value) = 0;
273 
276  virtual void setThickness( double value) = 0;
277 
278 
279 };
280 
281 
283 
284 public:
286  virtual ~TrackerPlanesLayer() { /* nop */; }
287 
290  virtual int getID() const = 0;
291 
293  virtual std::string getInfo() const = 0;
294 
298  virtual void setID(int value) = 0;
299 
301  virtual void setInfo(std::string value) = 0;
302 
304  virtual int getNMaterialLayers() const = 0;
305 
307  virtual int getNSensitiveLayers() const = 0;
308 
311  virtual void addMaterialLayer(
312  int ID, std::string info,
313  double PositionX, double PositionY, double PositionZ,
314  double RotationXY, double RotationZX, double RotationZY,
315  double SizeX, double SizeY, double Thickness, double RadLength
316  ) = 0;
317 
320  virtual void addSensitiveLayer(
321  int ID, std::string info,
322  double PositionX, double PositionY, double PositionZ,
323  double RotationXY, double RotationZX, double RotationZY,
324  double SizeX, double SizeY, double Thickness, double RadLength,
325  int NpixelX, int NpixelY,
326  double PitchX,double PitchY, double ResolutionX, double ResolutionY
327  ) = 0;
328 
329 };
330 
331 
333 
334 public:
336  virtual ~TrackerPlanesLayerLayout() { /* nop */; }
337 
339  virtual int getNLayers() const = 0;
340 
343  virtual const TrackerPlanesLayerImpl* getLayer( unsigned int ID ) const = 0;
344 
347  virtual const TrackerPlanesLayerImpl* getLayerByID( int ID ) const = 0;
348 
351  virtual void addLayer( TrackerPlanesLayerImpl* ) = 0;
352 
355  virtual int getID() const = 0;
356 
358  virtual void setID(int ID) = 0;
359 
361  virtual std::string getInfo() const = 0;
362 
364  virtual void setInfo(std::string value) = 0;
365 
368  virtual void PrintHeader( std::ostream& s) const = 0;
369 
372  virtual void PrintLayers( std::ostream& s) const = 0;
373 
376  virtual void PrintFooter( std::ostream& s) const = 0;
377 
378 }; // class
379 
380 
381 } // namespace gear
382 #endif /* ifndef GEAR_TrackerPlanesLAYERLAYOUT_H */
virtual double getResolutionX() const =0
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual double getPitchY() const =0
Pitch size in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual void setRadLength(double value)=0
a free parameter string field
virtual double getPositionZ() const =0
z position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the...
virtual void setPositionZ(double value)=0
a free parameter string field
virtual double getPositionY() const =0
y position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for ...
virtual double getRotationZY() const =0
rotation angles according to Euler implmentation scheme (in ZY plane -&gt; around axis X: alfa ) ...
virtual int getID() const =0
ID of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the ...
virtual void setRotationZX(double value)=0
a free parameter string field
virtual ~TrackerPlanesLayer()
Destructor.
virtual void setRotationXY(double value)=0
a free parameter string field
virtual ~TrackerPlanesLayerLayout()
Destructor.
virtual void setSizeX(double value)=0
a free parameter string field
virtual void addLayer(TrackerPlanesLayerImpl *)=0
a free parameter string field
virtual double getSizeX() const =0
Size in x direction of sensitive volume of layer layerIndex - layer indexing starts at 0 for the laye...
virtual void addMaterialLayer(int ID, std::string info, double PositionX, double PositionY, double PositionZ, double RotationXY, double RotationZX, double RotationZY, double SizeX, double SizeY, double Thickness, double RadLength)=0
a free parameter string field
virtual double getRotationXY() const =0
rotation angles according to Euler implementation scheme (in XY plane -&gt; around axis Z: gamma ) ...
virtual void setRotationXY(double value)=0
a free parameter string field
virtual const TrackerPlanesLayerImpl * getLayer(unsigned int ID) const =0
a free parameter string field
virtual const TrackerPlanesLayerImpl * getLayerByID(int ID) const =0
a free parameter string field
virtual void setPositionY(double value)=0
a free parameter string field
virtual double getResolutionY() const =0
Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the be...
virtual ~TrackerPlanesMaterialLayer()
Destructor.
virtual int getNpixelY() const =0
Number of pixels in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual double getRotationZX() const =0
rotation angles according to Euler implmentation scheme (in ZX plane -&gt; around axis Y: beta ) ...
virtual double getThickness() const =0
Thickness of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer close...
virtual double getRotationZX() const =0
rotation angles according to Euler implmentation scheme (in ZX plane -&gt; around axis Y: beta ) ...
virtual double getRadLength() const =0
The radiation length of sensitive volume of layer layerIndex - layer indexing starts at 0 for the lay...
virtual void setRotationZY(double value)=0
a free parameter string field
virtual void setPositionX(double value)=0
a free parameter string field
virtual void setSizeY(double value)=0
a free parameter string field
virtual void setRotationZX(double value)=0
a free parameter string field
virtual int getNpixelX() const =0
Number of pixels in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 ...
virtual void PrintFooter(std::ostream &s) const =0
a free parameter string field
virtual void setPositionX(double value)=0
a free parameter string field
virtual void addSensitiveLayer(int ID, std::string info, double PositionX, double PositionY, double PositionZ, double RotationXY, double RotationZX, double RotationZY, double SizeX, double SizeY, double Thickness, double RadLength, int NpixelX, int NpixelY, double PitchX, double PitchY, double ResolutionX, double ResolutionY)=0
a free parameter string field
virtual double getSizeY() const =0
Size in y direction of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the l...
virtual double getPitchX() const =0
Pitch size in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for th...
virtual void setPositionZ(double value)=0
a free parameter string field
virtual void setThickness(double value)=0
a free parameter string field
virtual double getThickness() const =0
Thickness of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest ...
virtual double getSizeY() const =0
Size in y direction of sensitive volume of layer layerIndex - layer indexing starts at 0 for the laye...
virtual double getSizeX() const =0
Size in x direction of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the l...
virtual void PrintLayers(std::ostream &s) const =0
a free parameter string field
virtual int getID() const =0
Layer ID of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closes...
virtual double getPositionX() const =0
x position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for ...
virtual double getPositionZ() const =0
z position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for ...
virtual void setSizeY(double value)=0
a free parameter string field
virtual void setID(int value)=0
a free parameter string field
virtual double getPositionY() const =0
y position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the...
virtual int getNMaterialLayers() const =0
The total number of nonSense layers.
virtual int getNLayers() const =0
The total number of layers.
virtual double getPositionX() const =0
x position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the...
virtual void setThickness(double value)=0
a free parameter string field
virtual int getID() const =0
Layer ID of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closes...
virtual void setRadLength(double value)=0
a free parameter string field
virtual double getRotationZY() const =0
rotation angles according to Euler implmentation scheme (in ZY plane -&gt; around axis X: alfa ) ...
virtual ~TrackerPlanesSensitiveLayer()
Destructor.
virtual double getRotationXY() const =0
rotation angles according to Euler implementation scheme (in XY plane -&gt; around axis Z: gamma ) ...
virtual void setRotationZY(double value)=0
a free parameter string field
virtual int getNSensitiveLayers() const =0
The total number of Sensitive layers.
virtual void setID(int value)=0
add a setter method set ID of a new layer
virtual void setSizeX(double value)=0
a free parameter string field
virtual void PrintHeader(std::ostream &s) const =0
a free parameter string field
virtual void setPositionY(double value)=0
a free parameter string field
virtual double getRadLength() const =0
The radiation length of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the ...
virtual void setID(int value)=0
a free parameter string field