CMS 3D CMS Logo

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 { return innerRadius_[layer]; }
57 
59  float outerRadius(PFGeometry::Layers_t layer) const { return outerRadius_[layer]; }
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
PFGeometry::innerRadius
float innerRadius(PFGeometry::Layers_t layer) const
return inner radius of a given layer
Definition: PFGeometry.h:56
PFGeometry::HCALInnerWall
Definition: PFGeometry.h:42
PFGeometry::outerZ_
std::vector< float > outerZ_
Definition: PFGeometry.h:74
PFGeometry::HOOuterWall
Definition: PFGeometry.h:45
PFGeometry::NSurfPoints
Definition: PFGeometry.h:46
PFGeometry::HCALOuterWall
Definition: PFGeometry.h:43
PFGeometry::tanTh
float tanTh(PFGeometry::Surface_t iSurf) const
return tan(theta) of the cylinder corner
Definition: PFGeometry.h:68
PFGeometry::ECALInnerWall
Definition: PFGeometry.h:41
PFGeometry::Layers_t
Layers_t
Definition: PFGeometry.h:25
PFGeometry::outerRadius
float outerRadius(PFGeometry::Layers_t layer) const
return outer radius of a given layer
Definition: PFGeometry.h:59
PFGeometry::NPoints
Definition: PFGeometry.h:34
PFGeometry::PS2
Definition: PFGeometry.h:28
PFGeometry::~PFGeometry
virtual ~PFGeometry()
destructor
Definition: PFGeometry.h:53
PFGeometry::HCALBarrel
Definition: PFGeometry.h:31
PFGeometry::PFGeometry
PFGeometry()
constructor
Definition: PFGeometry.cc:7
PFGeometry
General CMS geometry parameters used during Particle Flow reconstruction or drawing....
Definition: PFGeometry.h:23
PFGeometry::outerZ
float outerZ(PFGeometry::Layers_t layer) const
return outer position along z axis of a given layer
Definition: PFGeometry.h:65
PFGeometry::PS2Wall
Definition: PFGeometry.h:40
PFGeometry::innerZ
float innerZ(PFGeometry::Layers_t layer) const
return inner position along z axis of a given layer
Definition: PFGeometry.h:62
PFGeometry::HOBarrel
Definition: PFGeometry.h:33
PFGeometry::PS1Wall
Definition: PFGeometry.h:39
PFGeometry::PS1
Definition: PFGeometry.h:27
ReferenceCounted.h
Disk
Definition: BoundDisk.h:19
PFGeometry::HCALEndcap
Definition: PFGeometry.h:32
PFGeometry::innerRadius_
std::vector< float > innerRadius_
Definition: PFGeometry.h:71
PFGeometry::ECALBarrel
Definition: PFGeometry.h:29
PFGeometry::tanTh_
std::vector< float > tanTh_
Definition: PFGeometry.h:75
PFGeometry::BeamPipe
Definition: PFGeometry.h:26
PFGeometry::HOInnerWall
Definition: PFGeometry.h:44
Plane
Definition: Plane.h:16
PFGeometry::outerRadius_
std::vector< float > outerRadius_
Definition: PFGeometry.h:72
PFGeometry::Surface_t
Surface_t
Definition: PFGeometry.h:37
PFGeometry::innerZ_
std::vector< float > innerZ_
Definition: PFGeometry.h:73
Cylinder
Definition: Cylinder.h:19
PFGeometry::ECALEndcap
Definition: PFGeometry.h:30
PFGeometry::BeamPipeWall
Definition: PFGeometry.h:38