CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 
56  float innerRadius(PFGeometry::Layers_t layer) const
57  { return innerRadius_[layer]; }
58 
60  float outerRadius(PFGeometry::Layers_t layer) const
61  { return outerRadius_[layer]; }
62 
64  float innerZ(PFGeometry::Layers_t layer) const
65  { return innerZ_[layer]; }
66 
68  float outerZ(PFGeometry::Layers_t layer) const
69  { return outerZ_[layer]; }
70 
72  float tanTh(PFGeometry::Surface_t iSurf) const
73  { return tanTh_[unsigned(iSurf)]; }
74 
75  private:
76  std::vector< float > innerRadius_;
77  std::vector< float > outerRadius_;
78  std::vector< float > innerZ_;
79  std::vector< float > outerZ_;
80  std::vector< float > tanTh_;
81 };
82 
83 #endif
float tanTh(PFGeometry::Surface_t iSurf) const
return tan(theta) of the cylinder corner
Definition: PFGeometry.h:72
std::vector< float > outerZ_
Definition: PFGeometry.h:79
float outerZ(PFGeometry::Layers_t layer) const
return outer position along z axis of a given layer
Definition: PFGeometry.h:68
General CMS geometry parameters used during Particle Flow reconstruction or drawing. All methods and members are static.
Definition: PFGeometry.h:23
Definition: Plane.h:17
std::vector< float > innerZ_
Definition: PFGeometry.h:78
Definition: BoundDisk.h:19
float innerZ(PFGeometry::Layers_t layer) const
return inner position along z axis of a given layer
Definition: PFGeometry.h:64
float outerRadius(PFGeometry::Layers_t layer) const
return outer radius of a given layer
Definition: PFGeometry.h:60
float innerRadius(PFGeometry::Layers_t layer) const
return inner radius of a given layer
Definition: PFGeometry.h:56
std::vector< float > outerRadius_
Definition: PFGeometry.h:77
virtual ~PFGeometry()
destructor
Definition: PFGeometry.h:53
std::vector< float > tanTh_
Definition: PFGeometry.h:80
std::vector< float > innerRadius_
Definition: PFGeometry.h:76
PFGeometry()
constructor
Definition: PFGeometry.cc:7