CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
PFGeometry Class Reference

General CMS geometry parameters used during Particle Flow reconstruction or drawing. All methods and members are static. More...

#include <PFGeometry.h>

Public Types

enum  Layers_t {
  BeamPipe = 0, PS1 = 1, PS2 = 2, ECALBarrel = 3,
  ECALEndcap = 4, HCALBarrel = 5, HCALEndcap = 6, HOBarrel = 7,
  NPoints = 8
}
 
enum  Surface_t {
  BeamPipeWall = 0, PS1Wall = 1, PS2Wall = 2, ECALInnerWall = 3,
  HCALInnerWall = 4, HCALOuterWall = 5, HOInnerWall = 6, HOOuterWall = 7,
  NSurfPoints = 8
}
 

Public Member Functions

float innerRadius (PFGeometry::Layers_t layer) const
 return inner radius of a given layer More...
 
float innerZ (PFGeometry::Layers_t layer) const
 return inner position along z axis of a given layer More...
 
float outerRadius (PFGeometry::Layers_t layer) const
 return outer radius of a given layer More...
 
float outerZ (PFGeometry::Layers_t layer) const
 return outer position along z axis of a given layer More...
 
 PFGeometry ()
 constructor More...
 
float tanTh (PFGeometry::Surface_t iSurf) const
 return tan(theta) of the cylinder corner More...
 
virtual ~PFGeometry ()
 destructor More...
 

Private Attributes

std::vector< float > innerRadius_
 
std::vector< float > innerZ_
 
std::vector< float > outerRadius_
 
std::vector< float > outerZ_
 
std::vector< float > tanTh_
 

Detailed Description

General CMS geometry parameters used during Particle Flow reconstruction or drawing. All methods and members are static.

Author
Renaud Bruneliere
Date
August 2006

Definition at line 23 of file PFGeometry.h.

Member Enumeration Documentation

◆ Layers_t

Enumerator
BeamPipe 
PS1 
PS2 
ECALBarrel 
ECALEndcap 
HCALBarrel 
HCALEndcap 
HOBarrel 
NPoints 

Definition at line 25 of file PFGeometry.h.

25  {
26  BeamPipe = 0,
27  PS1 = 1,
28  PS2 = 2,
29  ECALBarrel = 3,
30  ECALEndcap = 4,
31  HCALBarrel = 5,
32  HCALEndcap = 6,
33  HOBarrel = 7,
34  NPoints = 8
35  } Layers_t;

◆ Surface_t

Enumerator
BeamPipeWall 
PS1Wall 
PS2Wall 
ECALInnerWall 
HCALInnerWall 
HCALOuterWall 
HOInnerWall 
HOOuterWall 
NSurfPoints 

Definition at line 37 of file PFGeometry.h.

37  {
38  BeamPipeWall = 0,
39  PS1Wall = 1,
40  PS2Wall = 2,
41  ECALInnerWall = 3,
42  HCALInnerWall = 4,
43  HCALOuterWall = 5,
44  HOInnerWall = 6,
45  HOOuterWall = 7,
46  NSurfPoints = 8
47  } Surface_t;

Constructor & Destructor Documentation

◆ PFGeometry()

PFGeometry::PFGeometry ( )

constructor

Definition at line 7 of file PFGeometry.cc.

7  {
8  if (innerRadius_.empty()) {
9  // All distances are in cm
10  // BeamPipe
11  innerRadius_.push_back(2.5);
12  outerRadius_.push_back(2.5);
13  innerZ_.push_back(0.);
14  outerZ_.push_back(500.);
15  // PS1
16  innerRadius_.push_back(45.0);
17  outerRadius_.push_back(125.0);
18  innerZ_.push_back(303.16);
19  outerZ_.push_back(303.16);
20  // PS2
21  innerRadius_.push_back(45.0);
22  outerRadius_.push_back(125.0);
23  innerZ_.push_back(307.13);
24  outerZ_.push_back(307.13);
25  // ECALBarrel
26  innerRadius_.push_back(129.0);
27  outerRadius_.push_back(175.0);
28  innerZ_.push_back(0.);
29  outerZ_.push_back(304.5);
30  // ECALEndcap
31  innerRadius_.push_back(31.6);
32  outerRadius_.push_back(171.1);
33  innerZ_.push_back(317.0);
34  outerZ_.push_back(388.0);
35  // HCALBarrel
36  innerRadius_.push_back(183.0);
37  outerRadius_.push_back(285.0);
38  innerZ_.push_back(0.);
39  outerZ_.push_back(433.2);
40  // HCALEndcap
41  innerRadius_.push_back(31.6); // !!! Do not use : Probably wrong !!!
42  outerRadius_.push_back(285.0); // !!! Do not use : Probably wrong !!!
43  innerZ_.push_back(388.0);
44  outerZ_.push_back(560.0);
45 
46  // HO Barrel
47  innerRadius_.push_back(387.6);
48  outerRadius_.push_back(410.2);
49  innerZ_.push_back(0.);
50  outerZ_.push_back(700.25);
51 
52  // Define reference surfaces
54  tanTh_.push_back(outerRadius_[PS1] / outerZ_[PS1]);
55  tanTh_.push_back(outerRadius_[PS2] / outerZ_[PS2]);
59  }
60 }

References BeamPipe, ECALBarrel, ECALEndcap, HCALBarrel, HCALEndcap, innerRadius_, innerZ_, outerRadius_, outerZ_, PS1, PS2, and tanTh_.

◆ ~PFGeometry()

virtual PFGeometry::~PFGeometry ( )
inlinevirtual

destructor

Definition at line 53 of file PFGeometry.h.

53 {}

Member Function Documentation

◆ innerRadius()

float PFGeometry::innerRadius ( PFGeometry::Layers_t  layer) const
inline

return inner radius of a given layer

Definition at line 56 of file PFGeometry.h.

56 { return innerRadius_[layer]; }

References innerRadius_.

◆ innerZ()

float PFGeometry::innerZ ( PFGeometry::Layers_t  layer) const
inline

return inner position along z axis of a given layer

Definition at line 62 of file PFGeometry.h.

62 { return innerZ_[layer]; }

References innerZ_.

◆ outerRadius()

float PFGeometry::outerRadius ( PFGeometry::Layers_t  layer) const
inline

return outer radius of a given layer

Definition at line 59 of file PFGeometry.h.

59 { return outerRadius_[layer]; }

References outerRadius_.

Referenced by PFTrackTransformer::addPoints(), and PFTrackTransformer::addPointsAndBrems().

◆ outerZ()

float PFGeometry::outerZ ( PFGeometry::Layers_t  layer) const
inline

return outer position along z axis of a given layer

Definition at line 65 of file PFGeometry.h.

65 { return outerZ_[layer]; }

References outerZ_.

Referenced by PFTrackTransformer::addPoints(), and PFTrackTransformer::addPointsAndBrems().

◆ tanTh()

float PFGeometry::tanTh ( PFGeometry::Surface_t  iSurf) const
inline

return tan(theta) of the cylinder corner

Definition at line 68 of file PFGeometry.h.

68 { return tanTh_[unsigned(iSurf)]; }

References tanTh_.

Member Data Documentation

◆ innerRadius_

std::vector<float> PFGeometry::innerRadius_
private

Definition at line 71 of file PFGeometry.h.

Referenced by innerRadius(), and PFGeometry().

◆ innerZ_

std::vector<float> PFGeometry::innerZ_
private

Definition at line 73 of file PFGeometry.h.

Referenced by innerZ(), and PFGeometry().

◆ outerRadius_

std::vector<float> PFGeometry::outerRadius_
private

Definition at line 72 of file PFGeometry.h.

Referenced by outerRadius(), and PFGeometry().

◆ outerZ_

std::vector<float> PFGeometry::outerZ_
private

Definition at line 74 of file PFGeometry.h.

Referenced by outerZ(), and PFGeometry().

◆ tanTh_

std::vector<float> PFGeometry::tanTh_
private

Definition at line 75 of file PFGeometry.h.

Referenced by PFGeometry(), and tanTh().

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::ECALInnerWall
Definition: PFGeometry.h:41
PFGeometry::Layers_t
Layers_t
Definition: PFGeometry.h:25
PFGeometry::NPoints
Definition: PFGeometry.h:34
PFGeometry::PS2
Definition: PFGeometry.h:28
PFGeometry::HCALBarrel
Definition: PFGeometry.h:31
PFGeometry::PS2Wall
Definition: PFGeometry.h:40
PFGeometry::HOBarrel
Definition: PFGeometry.h:33
PFGeometry::PS1Wall
Definition: PFGeometry.h:39
PFGeometry::PS1
Definition: PFGeometry.h:27
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
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
PFGeometry::ECALEndcap
Definition: PFGeometry.h:30
PFGeometry::BeamPipeWall
Definition: PFGeometry.h:38