CMS 3D CMS Logo

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 64 of file TrackerNameSpace.h.

Constructor & Destructor Documentation

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

Definition at line 83 of file TrackerNameSpace.cc.

References moduleNumber().

Referenced by align::TrackerNameSpace::TPB::barrelNumber().

83  :
84  trackerTopology_(topology)
85 {
86 }
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 102 of file TrackerNameSpace.cc.

References b, bpqd_, halfDiskNumber(), TrackerTopology::pxfBlade(), and trackerTopology_.

Referenced by panelNumber().

103 {
104  unsigned int b = trackerTopology_->pxfBlade(id); // 1 to 24 in increasing phi
105 
106  // Blade in 1st quadrant: number = bpqd_ + 1 - b (1 to bpqd_)
107  // Blade in 2nd quadrant: number = b - bpqd_ (1 to bpqd_)
108  // Blade in 3rd quadrant: number = b - bpqd_ (bpqd_ + 1 to 2 * bpqd_)
109  // Blade in 4th quadrant: number = 5 * bpqd_ + 1 - b (bpqd_ + 1 to 2 * bpqd_)
110 
111  return b > 3 * bpqd_ ? // blade in 4th quadrant
112  5 * bpqd_ + 1 - b :
113  (b > bpqd_ ? // blade not in 1st quadrant
114  b - bpqd_ : bpqd_ + 1 - b);
115 }
const TrackerTopology * trackerTopology_
unsigned int bpqd_
no. of blades per quarter disk
double b
Definition: hdecay.h:120
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 132 of file TrackerNameSpace.cc.

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

Referenced by halfCylinderNumber().

133 {
134  return trackerTopology_->pxfSide(id);
135 }
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 124 of file TrackerNameSpace.cc.

References b, bpqd_, endcapNumber(), TrackerTopology::pxfBlade(), and trackerTopology_.

Referenced by halfDiskNumber().

125 {
126  unsigned int b = trackerTopology_->pxfBlade(id); // 1 to 24 in increasing phi
127 
128  return b > bpqd_ && b <= 3 * bpqd_ ? 1 : 2;
129 }
const TrackerTopology * trackerTopology_
unsigned int bpqd_
no. of blades per quarter disk
double b
Definition: hdecay.h:120
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 118 of file TrackerNameSpace.cc.

References halfCylinderNumber(), TrackerTopology::pxfDisk(), and trackerTopology_.

Referenced by bladeNumber().

119 {
120  return trackerTopology_->pxfDisk(id);
121 }
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 90 of file TrackerNameSpace.cc.

References panelNumber(), TrackerTopology::pxfModule(), and trackerTopology_.

Referenced by TPE().

91 {
92  return trackerTopology_->pxfModule(id);
93 }
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 96 of file TrackerNameSpace.cc.

References bladeNumber(), TrackerTopology::pxfPanel(), and trackerTopology_.

Referenced by moduleNumber().

97 {
98  return trackerTopology_->pxfPanel(id);
99 }
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 69 of file TrackerNameSpace.h.

friend class TrackerNameSpace
friend

grant access for the enclosing TrackerNameSpace

Definition at line 66 of file TrackerNameSpace.h.

Member Data Documentation

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

no. of blades per quarter disk

Definition at line 102 of file TrackerNameSpace.h.

Referenced by bladeNumber(), TrackerAlignmentLevelBuilder::buildPXEAlignmentLevels(), and halfCylinderNumber().

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