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 | |
PFGeometry () | |
constructor | |
virtual | ~PFGeometry () |
destructor | |
Static Public Member Functions | |
static const BoundCylinder & | barrelBound (PFGeometry::Surface_t iSurf) |
return cylinder used to propagate to barrel | |
static const float | innerRadius (PFGeometry::Layers_t layer) |
return inner radius of a given layer | |
static const float | innerZ (PFGeometry::Layers_t layer) |
return inner position along z axis of a given layer | |
static const BoundPlane & | negativeEndcapDisk (PFGeometry::Surface_t iSurf) |
return disk used to propagate to negative endcap | |
static const float | outerRadius (PFGeometry::Layers_t layer) |
return outer radius of a given layer | |
static const float | outerZ (PFGeometry::Layers_t layer) |
return outer position along z axis of a given layer | |
static const BoundPlane & | positiveEndcapDisk (PFGeometry::Surface_t iSurf) |
return disk used to propagate to positive endcap | |
static float | tanTh (PFGeometry::Surface_t iSurf) |
return tan(theta) of the cylinder corner | |
Static Private Attributes | |
static std::vector < ReferenceCountingPointer < BoundCylinder > > | cylinder_ |
static std::vector< float > | innerRadius_ |
static std::vector< float > | innerZ_ |
static std::vector < ReferenceCountingPointer < BoundPlane > > | negativeDisk_ |
static std::vector< float > | outerRadius_ |
static std::vector< float > | outerZ_ |
static std::vector < ReferenceCountingPointer < BoundPlane > > | positiveDisk_ |
static std::vector< float > | tanTh_ |
General CMS geometry parameters used during Particle Flow reconstruction or drawing. All methods and members are static.
Definition at line 23 of file PFGeometry.h.
enum PFGeometry::Layers_t |
Definition at line 25 of file PFGeometry.h.
{ BeamPipe = 0, PS1 = 1, PS2 = 2, ECALBarrel = 3, ECALEndcap = 4, HCALBarrel = 5, HCALEndcap = 6, HOBarrel = 7, NPoints = 8 } Layers_t;
BeamPipeWall | |
PS1Wall | |
PS2Wall | |
ECALInnerWall | |
HCALInnerWall | |
HCALOuterWall | |
HOInnerWall | |
HOOuterWall | |
NSurfPoints |
Definition at line 37 of file PFGeometry.h.
{ BeamPipeWall = 0, PS1Wall = 1, PS2Wall = 2, ECALInnerWall = 3, HCALInnerWall = 4, HCALOuterWall = 5, HOInnerWall = 6, HOOuterWall = 7, NSurfPoints = 8 } Surface_t;
PFGeometry::PFGeometry | ( | ) |
constructor
Definition at line 16 of file PFGeometry.cc.
References BeamPipe, cylinder_, ECALBarrel, ECALEndcap, epsilon, HCALBarrel, HCALEndcap, innerRadius_, innerZ_, negativeDisk_, outerRadius_, outerZ_, positiveDisk_, PS1, PS2, makeMuonMisalignmentScenario::rot, and tanTh_.
{ if (!innerRadius_.size()) { // All distances are in cm // BeamPipe innerRadius_.push_back(2.5); outerRadius_.push_back(2.5); innerZ_.push_back(0.); outerZ_.push_back(500.); // PS1 innerRadius_.push_back(45.0); outerRadius_.push_back(125.0); innerZ_.push_back(303.16); outerZ_.push_back(303.16); // PS2 innerRadius_.push_back(45.0); outerRadius_.push_back(125.0); innerZ_.push_back(307.13); outerZ_.push_back(307.13); // ECALBarrel innerRadius_.push_back(129.0); outerRadius_.push_back(175.0); innerZ_.push_back(0.); outerZ_.push_back(304.5); // ECALEndcap innerRadius_.push_back(31.6); outerRadius_.push_back(171.1); innerZ_.push_back(317.0); outerZ_.push_back(388.0); // HCALBarrel innerRadius_.push_back(183.0); outerRadius_.push_back(285.0); innerZ_.push_back(0.); outerZ_.push_back(433.2); // HCALEndcap innerRadius_.push_back(31.6); // !!! Do not use : Probably wrong !!! outerRadius_.push_back(285.0); // !!! Do not use : Probably wrong !!! innerZ_.push_back(388.0); outerZ_.push_back(560.0); // HO Barrel innerRadius_.push_back(387.6); outerRadius_.push_back(410.2); innerZ_.push_back(0.); outerZ_.push_back(700.25); // Define reference surfaces const float epsilon = 0.001; // should not matter at all Surface::RotationType rot; // BeamPipe cylinder_.push_back(new BoundCylinder(Surface::PositionType(0,0,0), rot, SimpleCylinderBounds(innerRadius_[BeamPipe], innerRadius_[BeamPipe], -outerZ_[BeamPipe], outerZ_[BeamPipe]))); negativeDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,-outerZ_[BeamPipe]), rot, SimpleDiskBounds(0., innerRadius_[BeamPipe], -epsilon, epsilon))); positiveDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,outerZ_[BeamPipe]), rot, SimpleDiskBounds(0., innerRadius_[BeamPipe], -epsilon, epsilon))); tanTh_.push_back(innerRadius_[BeamPipe]/outerZ_[BeamPipe]); // PS1Wall cylinder_.push_back(new BoundCylinder(Surface::PositionType(0,0,0), rot, SimpleCylinderBounds(outerRadius_[PS1], outerRadius_[PS1], -outerZ_[PS1], outerZ_[PS1]))); negativeDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,-outerZ_[PS1]), rot, SimpleDiskBounds(0., outerRadius_[PS1], -epsilon, epsilon))); positiveDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,outerZ_[PS1]), rot, SimpleDiskBounds(0., outerRadius_[PS1], -epsilon, epsilon))); tanTh_.push_back(outerRadius_[PS1]/outerZ_[PS1]); // PS2Wall cylinder_.push_back(new BoundCylinder(Surface::PositionType(0,0,0), rot, SimpleCylinderBounds(outerRadius_[PS2], outerRadius_[PS2], -outerZ_[PS2], outerZ_[PS2]))); negativeDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,-outerZ_[PS2]), rot, SimpleDiskBounds(0., outerRadius_[PS2], -epsilon, epsilon))); positiveDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,outerZ_[PS2]), rot, SimpleDiskBounds(0., outerRadius_[PS2], -epsilon, epsilon))); tanTh_.push_back(outerRadius_[PS2]/outerZ_[PS2]); // ECALInnerWall cylinder_.push_back(new BoundCylinder(Surface::PositionType(0,0,0), rot, SimpleCylinderBounds(innerRadius_[ECALBarrel], innerRadius_[ECALBarrel], -innerZ_[ECALEndcap], innerZ_[ECALEndcap]))); negativeDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,-innerZ_[ECALEndcap]), rot, SimpleDiskBounds(0., innerRadius_[ECALBarrel], -epsilon, epsilon))); positiveDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,innerZ_[ECALEndcap]), rot, SimpleDiskBounds(0., innerRadius_[ECALBarrel], -epsilon, epsilon))); tanTh_.push_back(innerRadius_[ECALBarrel]/innerZ_[ECALEndcap]); // HCALInnerWall cylinder_.push_back(new BoundCylinder(Surface::PositionType(0,0,0), rot, SimpleCylinderBounds(innerRadius_[HCALBarrel], innerRadius_[HCALBarrel], -innerZ_[HCALEndcap], innerZ_[HCALEndcap]))); negativeDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,-innerZ_[HCALEndcap]), rot, SimpleDiskBounds(0., innerRadius_[HCALBarrel], -epsilon, epsilon))); positiveDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,innerZ_[HCALEndcap]), rot, SimpleDiskBounds(0., innerRadius_[HCALBarrel], -epsilon, epsilon))); tanTh_.push_back(innerRadius_[HCALBarrel]/innerZ_[HCALEndcap]); // HCALOuterWall cylinder_.push_back(new BoundCylinder(Surface::PositionType(0,0,0), rot, SimpleCylinderBounds(outerRadius_[HCALBarrel], outerRadius_[HCALBarrel], -outerZ_[HCALEndcap], outerZ_[HCALEndcap]))); negativeDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,-outerZ_[HCALEndcap]), rot, SimpleDiskBounds(0., outerRadius_[HCALBarrel], -epsilon, epsilon))); positiveDisk_.push_back(new BoundPlane(Surface::PositionType(0,0,outerZ_[HCALEndcap]), rot, SimpleDiskBounds(0., outerRadius_[HCALBarrel], -epsilon, epsilon))); tanTh_.push_back(outerRadius_[HCALBarrel]/outerZ_[HCALEndcap]); } }
virtual PFGeometry::~PFGeometry | ( | ) | [inline, virtual] |
static const BoundCylinder& PFGeometry::barrelBound | ( | PFGeometry::Surface_t | iSurf | ) | [inline, static] |
return cylinder used to propagate to barrel
Definition at line 72 of file PFGeometry.h.
References cylinder_.
{ return *(cylinder_[unsigned(iSurf)]); }
static const float PFGeometry::innerRadius | ( | PFGeometry::Layers_t | layer | ) | [inline, static] |
return inner radius of a given layer
Definition at line 56 of file PFGeometry.h.
References innerRadius_.
Referenced by DisplayManager::createCanvas(), and GoodSeedProducer::PSforTMVA().
{ return innerRadius_[layer]; }
static const float PFGeometry::innerZ | ( | PFGeometry::Layers_t | layer | ) | [inline, static] |
return inner position along z axis of a given layer
Definition at line 64 of file PFGeometry.h.
References innerZ_.
Referenced by DisplayManager::createCanvas().
{ return innerZ_[layer]; }
static const BoundPlane& PFGeometry::negativeEndcapDisk | ( | PFGeometry::Surface_t | iSurf | ) | [inline, static] |
return disk used to propagate to negative endcap
Definition at line 76 of file PFGeometry.h.
References negativeDisk_.
{ return *(negativeDisk_[unsigned(iSurf)]); }
static const float PFGeometry::outerRadius | ( | PFGeometry::Layers_t | layer | ) | [inline, static] |
return outer radius of a given layer
Definition at line 60 of file PFGeometry.h.
References outerRadius_.
Referenced by PFTrackTransformer::addPoints(), PFTrackTransformer::addPointsAndBrems(), DisplayManager::createCanvas(), and GoodSeedProducer::PSforTMVA().
{ return outerRadius_[layer]; }
static const float PFGeometry::outerZ | ( | PFGeometry::Layers_t | layer | ) | [inline, static] |
return outer position along z axis of a given layer
Definition at line 68 of file PFGeometry.h.
References outerZ_.
Referenced by PFTrackTransformer::addPoints(), and PFTrackTransformer::addPointsAndBrems().
{ return outerZ_[layer]; }
static const BoundPlane& PFGeometry::positiveEndcapDisk | ( | PFGeometry::Surface_t | iSurf | ) | [inline, static] |
return disk used to propagate to positive endcap
Definition at line 80 of file PFGeometry.h.
References positiveDisk_.
{ return *(positiveDisk_[unsigned(iSurf)]); }
static float PFGeometry::tanTh | ( | PFGeometry::Surface_t | iSurf | ) | [inline, static] |
return tan(theta) of the cylinder corner
Definition at line 84 of file PFGeometry.h.
References tanTh_.
{ return tanTh_[unsigned(iSurf)]; }
std::vector< ReferenceCountingPointer< BoundCylinder > > PFGeometry::cylinder_ [static, private] |
Definition at line 93 of file PFGeometry.h.
Referenced by barrelBound(), and PFGeometry().
std::vector< float > PFGeometry::innerRadius_ [static, private] |
Definition at line 88 of file PFGeometry.h.
Referenced by innerRadius(), and PFGeometry().
std::vector< float > PFGeometry::innerZ_ [static, private] |
Definition at line 90 of file PFGeometry.h.
Referenced by innerZ(), and PFGeometry().
std::vector< ReferenceCountingPointer< BoundPlane > > PFGeometry::negativeDisk_ [static, private] |
Definition at line 94 of file PFGeometry.h.
Referenced by negativeEndcapDisk(), and PFGeometry().
std::vector< float > PFGeometry::outerRadius_ [static, private] |
Definition at line 89 of file PFGeometry.h.
Referenced by outerRadius(), and PFGeometry().
std::vector< float > PFGeometry::outerZ_ [static, private] |
Definition at line 91 of file PFGeometry.h.
Referenced by outerZ(), and PFGeometry().
std::vector< ReferenceCountingPointer< BoundPlane > > PFGeometry::positiveDisk_ [static, private] |
Definition at line 95 of file PFGeometry.h.
Referenced by PFGeometry(), and positiveEndcapDisk().
std::vector< float > PFGeometry::tanTh_ [static, private] |
Definition at line 96 of file PFGeometry.h.
Referenced by PFGeometry(), and tanTh().