CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PFGeometry.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_PFTracking_PFGeometry_h
2 #define RecoParticleFlow_PFTracking_PFGeometry_h
3 
5 
6 // system include files
7 #include <vector>
8 
19 class Cylinder;
20 class Disk;
21 class Plane;
22 
23 class PFGeometry {
24 public:
25  typedef enum {
26  BeamPipe = 0,
27  PS1 = 1,
28  PS2 = 2,
33  HOBarrel = 7,
34  NPoints = 8
35  } Layers_t;
36 
37  typedef enum {
39  PS1Wall = 1,
40  PS2Wall = 2,
47  } Surface_t;
48 
50  PFGeometry();
51 
53  virtual ~PFGeometry() {}
54 
57 
60 
62  float innerZ(PFGeometry::Layers_t layer) const { return innerZ_[layer]; }
63 
65  float outerZ(PFGeometry::Layers_t layer) const { return outerZ_[layer]; }
66 
68  float tanTh(PFGeometry::Surface_t iSurf) const { return tanTh_[unsigned(iSurf)]; }
69 
70 private:
71  std::vector<float> innerRadius_;
72  std::vector<float> outerRadius_;
73  std::vector<float> innerZ_;
74  std::vector<float> outerZ_;
75  std::vector<float> tanTh_;
76 };
77 
78 #endif
float tanTh(PFGeometry::Surface_t iSurf) const
return tan(theta) of the cylinder corner
Definition: PFGeometry.h:68
std::vector< float > tanTh_
Definition: PFGeometry.h:75
float outerZ(PFGeometry::Layers_t layer) const
return outer position along z axis of a given layer
Definition: PFGeometry.h:65
General CMS geometry parameters used during Particle Flow reconstruction or drawing. All methods and members are static.
Definition: PFGeometry.h:23
std::vector< float > innerZ_
Definition: PFGeometry.h:73
Definition: Plane.h:16
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: BoundDisk.h:19
std::vector< float > innerRadius_
Definition: PFGeometry.h:71
std::vector< float > outerRadius_
Definition: PFGeometry.h:72
float innerZ(PFGeometry::Layers_t layer) const
return inner position along z axis of a given layer
Definition: PFGeometry.h:62
float outerRadius(PFGeometry::Layers_t layer) const
return outer radius of a given layer
Definition: PFGeometry.h:59
float innerRadius(PFGeometry::Layers_t layer) const
return inner radius of a given layer
Definition: PFGeometry.h:56
std::vector< float > outerZ_
Definition: PFGeometry.h:74
virtual ~PFGeometry()
destructor
Definition: PFGeometry.h:53
PFGeometry()
constructor
Definition: PFGeometry.cc:7