CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Friends
align::TrackerNameSpace::TPB Class Reference

#include <TrackerNameSpace.h>

Public Member Functions

unsigned int barrelNumber (align::ID) const
 Barrel number is 1 for all align::ID's which belong to this barrel. More...
 
unsigned int halfBarrelNumber (align::ID) const
 Half barrel number is 1 at left side (-x) and 2 at right side (+x). More...
 
unsigned int ladderNumber (align::ID) const
 
unsigned int layerNumber (align::ID) const
 Layer number increases with rho from 1 to 3. More...
 
unsigned int moduleNumber (align::ID) const
 Module number increases with z from 1 to 8. More...
 
TPBoperator= (const TPB &)=default
 
TPBoperator= (TPB &&)=default
 
 TPB (const TrackerTopology *)
 
 TPB (const TPB &)=default
 
 TPB (TPB &&)=default
 
virtual ~TPB ()=default
 

Private Attributes

std::vector< unsigned int > lpqc_
 Number of ladders for each quarter cylinder. 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 24 of file TrackerNameSpace.h.

Constructor & Destructor Documentation

◆ TPB() [1/3]

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

Definition at line 16 of file TrackerNameSpace.cc.

◆ TPB() [2/3]

align::TrackerNameSpace::TPB::TPB ( const TPB )
default

◆ TPB() [3/3]

align::TrackerNameSpace::TPB::TPB ( TPB &&  )
default

◆ ~TPB()

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

Member Function Documentation

◆ barrelNumber()

unsigned int align::TrackerNameSpace::TPB::barrelNumber ( align::ID  ) const

Barrel number is 1 for all align::ID's which belong to this barrel.

Definition at line 48 of file TrackerNameSpace.cc.

48 { return 1; }

◆ halfBarrelNumber()

unsigned int align::TrackerNameSpace::TPB::halfBarrelNumber ( align::ID  id) const

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

Definition at line 40 of file TrackerNameSpace.cc.

References DummyCfis::c, MainPageGenerator::l, TrackerTopology::pxbLadder(), TrackerTopology::pxbLayer(), and align::TrackerNameSpace::trackerTopology_.

40  {
41  unsigned int l = trackerTopology_->pxbLadder(id); // increases with phi
42  unsigned int c = trackerTopology_->pxbLayer(id) - 1;
43 
44  return l > lpqc_[c] && l <= 3 * lpqc_[c] ? 1 : 2;
45 }
const TrackerTopology * trackerTopology_
unsigned int pxbLayer(const DetId &id) const
unsigned int pxbLadder(const DetId &id) const
std::vector< unsigned int > lpqc_
Number of ladders for each quarter cylinder.

◆ ladderNumber()

unsigned int align::TrackerNameSpace::TPB::ladderNumber ( align::ID  id) const

Ladder number increases from 1 at the top to 2 * lpqc at the bottom of each half cylinder.

Definition at line 22 of file TrackerNameSpace.cc.

References DummyCfis::c, MainPageGenerator::l, TrackerTopology::pxbLadder(), TrackerTopology::pxbLayer(), and align::TrackerNameSpace::trackerTopology_.

22  {
23  unsigned int l = trackerTopology_->pxbLadder(id); // increases with phi
24  unsigned int c = trackerTopology_->pxbLayer(id) - 1;
25 
26  // Ladder in 1st quadrant: number = lpqc_ + 1 - l (1 to lpqc_)
27  // Ladder in 2nd quadrant: number = l - lpqc_ (1 to lpqc_)
28  // Ladder in 3rd quadrant: number = l - lpqc_ (lpqc_ + 1 to 2 * lpqc_)
29  // Ladder in 4th quadrant: number = 5 * lpqc_ + 1 - l (lpqc_ + 1 to 2 * lpqc_)
30 
31  return l > 3 * lpqc_[c] ? 5 * lpqc_[c] + 1 - l : // ladder in 4th quadrant
32  (l > lpqc_[c] ? l - lpqc_[c] : // ladder not in 1st quadrant
33  lpqc_[c] + 1 - l);
34 }
const TrackerTopology * trackerTopology_
unsigned int pxbLayer(const DetId &id) const
unsigned int pxbLadder(const DetId &id) const
std::vector< unsigned int > lpqc_
Number of ladders for each quarter cylinder.

◆ layerNumber()

unsigned int align::TrackerNameSpace::TPB::layerNumber ( align::ID  id) const

Layer number increases with rho from 1 to 3.

Definition at line 37 of file TrackerNameSpace.cc.

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

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

◆ moduleNumber()

unsigned int align::TrackerNameSpace::TPB::moduleNumber ( align::ID  id) const

Module number increases with z from 1 to 8.

Definition at line 19 of file TrackerNameSpace.cc.

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

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Friends And Related Function Documentation

◆ ::TrackerAlignmentLevelBuilder

friend class ::TrackerAlignmentLevelBuilder
friend

grant access for the TrackerAlignmentLevelBuilder (in global namespace)

Definition at line 29 of file TrackerNameSpace.h.

◆ TrackerNameSpace

friend class TrackerNameSpace
friend

grant access for the enclosing TrackerNameSpace

Definition at line 26 of file TrackerNameSpace.h.

Member Data Documentation

◆ lpqc_

std::vector<unsigned int> align::TrackerNameSpace::TPB::lpqc_
private

Number of ladders for each quarter cylinder.

Definition at line 59 of file TrackerNameSpace.h.

Referenced by TrackerAlignmentLevelBuilder::buildPXBAlignmentLevels().

◆ trackerTopology_

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

Definition at line 56 of file TrackerNameSpace.h.