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

Constructor & Destructor Documentation

◆ TPE() [1/3]

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

Definition at line 51 of file TrackerNameSpace.cc.

51 : trackerTopology_(topology) {}
const TrackerTopology * trackerTopology_

◆ TPE() [2/3]

align::TrackerNameSpace::TPE::TPE ( const TPE )
default

◆ TPE() [3/3]

align::TrackerNameSpace::TPE::TPE ( TPE &&  )
default

◆ ~TPE()

virtual align::TrackerNameSpace::TPE::~TPE ( )
virtualdefault

Member Function Documentation

◆ bladeNumber()

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 }
unsigned int pxfBlade(const DetId &id) const
const TrackerTopology * trackerTopology_
unsigned int bpqd_
no. of blades per quarter disk
double b
Definition: hdecay.h:118

◆ endcapNumber()

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

◆ halfCylinderNumber()

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 }
unsigned int pxfBlade(const DetId &id) const
const TrackerTopology * trackerTopology_
unsigned int bpqd_
no. of blades per quarter disk
double b
Definition: hdecay.h:118

◆ halfDiskNumber()

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); }
const TrackerTopology * trackerTopology_
unsigned int pxfDisk(const DetId &id) const

◆ moduleNumber()

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); }
unsigned int pxfModule(const DetId &id) const
const TrackerTopology * trackerTopology_

◆ operator=() [1/2]

TPE& align::TrackerNameSpace::TPE::operator= ( const TPE )
default

◆ operator=() [2/2]

TPE& align::TrackerNameSpace::TPE::operator= ( TPE &&  )
default

◆ panelNumber()

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

◆ ::TrackerAlignmentLevelBuilder

friend class ::TrackerAlignmentLevelBuilder
friend

grant access for the TrackerAlignmentLevelBuilder (in global namespace)

Definition at line 67 of file TrackerNameSpace.h.

◆ TrackerNameSpace

friend class TrackerNameSpace
friend

grant access for the enclosing TrackerNameSpace

Definition at line 64 of file TrackerNameSpace.h.

Member Data Documentation

◆ bpqd_

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().

◆ trackerTopology_

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

Definition at line 97 of file TrackerNameSpace.h.