CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes | Friends
align::TrackerNameSpace::TPE Class Reference

#include <TrackerNameSpace.h>

Public Member Functions

unsigned int bladeNumber (align::ID) const
 
unsigned int endcapNumber (align::ID) const
 Endcap number is 1 for -z and 2 for +z. More...
 
unsigned int halfCylinderNumber (align::ID) const
 Half cylinder number is 1 at left side (-x) and 2 at right side (+x). More...
 
unsigned int halfDiskNumber (align::ID) const
 Half disk number increases with |z| from 1 to 3. More...
 
unsigned int moduleNumber (align::ID) const
 Module number increases with rho; from 1 to 4. More...
 
TPEoperator= (const TPE &)=default
 
TPEoperator= (TPE &&)=default
 
unsigned int panelNumber (align::ID) const
 Panel number is 1 for 4 modules, 2 for 3 modules. More...
 
 TPE (const TrackerTopology *)
 
 TPE (const TPE &)=default
 
 TPE (TPE &&)=default
 
virtual ~TPE ()=default
 

Private Attributes

unsigned int bpqd_
 no. of blades per quarter disk More...
 
const TrackerTopologytrackerTopology_
 

Friends

class ::TrackerAlignmentLevelBuilder
 grant access for the TrackerAlignmentLevelBuilder (in global namespace) More...
 
class TrackerNameSpace
 grant access for the enclosing TrackerNameSpace More...
 

Detailed Description

Definition at line 62 of file TrackerNameSpace.h.

Constructor & Destructor Documentation

align::TrackerNameSpace::TPE::TPE ( const TrackerTopology topology)

Definition at line 51 of file TrackerNameSpace.cc.

51 : trackerTopology_(topology) {}
const TrackerTopology * trackerTopology_
align::TrackerNameSpace::TPE::TPE ( const TPE )
default
align::TrackerNameSpace::TPE::TPE ( TPE &&  )
default
virtual align::TrackerNameSpace::TPE::~TPE ( )
virtualdefault

Member Function Documentation

unsigned int align::TrackerNameSpace::TPE::bladeNumber ( align::ID  id) const

Blade number increases from 1 at the top to 12 at the bottom of each half disk.

Definition at line 57 of file TrackerNameSpace.cc.

References b, TrackerTopology::pxfBlade(), and align::TrackerNameSpace::trackerTopology_.

57  {
58  unsigned int b = trackerTopology_->pxfBlade(id); // 1 to 24 in increasing phi
59 
60  // Blade in 1st quadrant: number = bpqd_ + 1 - b (1 to bpqd_)
61  // Blade in 2nd quadrant: number = b - bpqd_ (1 to bpqd_)
62  // Blade in 3rd quadrant: number = b - bpqd_ (bpqd_ + 1 to 2 * bpqd_)
63  // Blade in 4th quadrant: number = 5 * bpqd_ + 1 - b (bpqd_ + 1 to 2 * bpqd_)
64 
65  return b > 3 * bpqd_ ? // blade in 4th quadrant
66  5 * bpqd_ + 1 - b
67  : (b > bpqd_ ? // blade not in 1st quadrant
68  b - bpqd_
69  : bpqd_ + 1 - b);
70 }
const TrackerTopology * trackerTopology_
unsigned int bpqd_
no. of blades per quarter disk
double b
Definition: hdecay.h:118
unsigned int pxfBlade(const DetId &id) const
unsigned int align::TrackerNameSpace::TPE::endcapNumber ( align::ID  id) const

Endcap number is 1 for -z and 2 for +z.

Definition at line 80 of file TrackerNameSpace.cc.

References TrackerTopology::pxfSide(), and align::TrackerNameSpace::trackerTopology_.

80 { return trackerTopology_->pxfSide(id); }
const TrackerTopology * trackerTopology_
unsigned int pxfSide(const DetId &id) const
unsigned int align::TrackerNameSpace::TPE::halfCylinderNumber ( align::ID  id) const

Half cylinder number is 1 at left side (-x) and 2 at right side (+x).

Definition at line 74 of file TrackerNameSpace.cc.

References b, TrackerTopology::pxfBlade(), and align::TrackerNameSpace::trackerTopology_.

74  {
75  unsigned int b = trackerTopology_->pxfBlade(id); // 1 to 24 in increasing phi
76 
77  return b > bpqd_ && b <= 3 * bpqd_ ? 1 : 2;
78 }
const TrackerTopology * trackerTopology_
unsigned int bpqd_
no. of blades per quarter disk
double b
Definition: hdecay.h:118
unsigned int pxfBlade(const DetId &id) const
unsigned int align::TrackerNameSpace::TPE::halfDiskNumber ( align::ID  id) const

Half disk number increases with |z| from 1 to 3.

Definition at line 72 of file TrackerNameSpace.cc.

References TrackerTopology::pxfDisk(), and align::TrackerNameSpace::trackerTopology_.

72 { return trackerTopology_->pxfDisk(id); }
unsigned int pxfDisk(const DetId &id) const
const TrackerTopology * trackerTopology_
unsigned int align::TrackerNameSpace::TPE::moduleNumber ( align::ID  id) const

Module number increases with rho; from 1 to 4.

Definition at line 53 of file TrackerNameSpace.cc.

References TrackerTopology::pxfModule(), and align::TrackerNameSpace::trackerTopology_.

53 { return trackerTopology_->pxfModule(id); }
const TrackerTopology * trackerTopology_
unsigned int pxfModule(const DetId &id) const
TPE& align::TrackerNameSpace::TPE::operator= ( const TPE )
default
TPE& align::TrackerNameSpace::TPE::operator= ( TPE &&  )
default
unsigned int align::TrackerNameSpace::TPE::panelNumber ( align::ID  id) const

Panel number is 1 for 4 modules, 2 for 3 modules.

Definition at line 55 of file TrackerNameSpace.cc.

References TrackerTopology::pxfPanel(), and align::TrackerNameSpace::trackerTopology_.

55 { return trackerTopology_->pxfPanel(id); }
const TrackerTopology * trackerTopology_
unsigned int pxfPanel(const DetId &id) const

Friends And Related Function Documentation

friend class ::TrackerAlignmentLevelBuilder
friend

grant access for the TrackerAlignmentLevelBuilder (in global namespace)

Definition at line 67 of file TrackerNameSpace.h.

friend class TrackerNameSpace
friend

grant access for the enclosing TrackerNameSpace

Definition at line 64 of file TrackerNameSpace.h.

Member Data Documentation

unsigned int align::TrackerNameSpace::TPE::bpqd_
private

no. of blades per quarter disk

Definition at line 100 of file TrackerNameSpace.h.

Referenced by TrackerAlignmentLevelBuilder::buildPXEAlignmentLevels().

const TrackerTopology* align::TrackerNameSpace::TPE::trackerTopology_
private

Definition at line 97 of file TrackerNameSpace.h.