CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Friends
align::TrackerNameSpace::TIB 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 -z side and 2 at +z side. More...
 
unsigned int halfShellNumber (align::ID) const
 Half shell number is 1 for bottom (-y) and 2 for top (+y). More...
 
unsigned int layerNumber (align::ID) const
 Layer number increases with rho from 1 to 8. More...
 
unsigned int moduleNumber (align::ID) const
 Module number increases with |z| from 1 to 3. More...
 
TIBoperator= (const TIB &)=default
 
TIBoperator= (TIB &&)=default
 
unsigned int stringNumber (align::ID) const
 
unsigned int surfaceNumber (align::ID) const
 Surface number is 1 for inner and 2 for outer. More...
 
 TIB (const TrackerTopology *)
 
 TIB (const TIB &)=default
 
 TIB (TIB &&)=default
 
virtual ~TIB ()=default
 

Private Attributes

std::vector< unsigned int > sphs_
 Number of strings for each surface of a half shell. 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 103 of file TrackerNameSpace.h.

Constructor & Destructor Documentation

◆ TIB() [1/3]

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

Definition at line 82 of file TrackerNameSpace.cc.

◆ TIB() [2/3]

align::TrackerNameSpace::TIB::TIB ( const TIB )
default

◆ TIB() [3/3]

align::TrackerNameSpace::TIB::TIB ( TIB &&  )
default

◆ ~TIB()

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

Member Function Documentation

◆ barrelNumber()

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

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

Definition at line 119 of file TrackerNameSpace.cc.

119 { return 1; }

◆ halfBarrelNumber()

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

Half barrel number is 1 at -z side and 2 at +z side.

Definition at line 115 of file TrackerNameSpace.cc.

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

115  {
116  return trackerTopology_->tibStringInfo(id)[0];
117 }
const TrackerTopology * trackerTopology_
std::vector< unsigned int > tibStringInfo(const DetId &id) const

◆ halfShellNumber()

unsigned int align::TrackerNameSpace::TIB::halfShellNumber ( align::ID  id) const

Half shell number is 1 for bottom (-y) and 2 for top (+y).

Definition at line 103 of file TrackerNameSpace.cc.

References MainPageGenerator::l, alignCSCRings::s, TrackerTopology::tibLayer(), TrackerTopology::tibStringInfo(), and align::TrackerNameSpace::trackerTopology_.

103  {
104  std::vector<unsigned int> s = trackerTopology_->tibStringInfo(id);
105  // s[1]: surface lower = 1, upper = 2
106  // s[2]: string no. increases with phi
107 
108  unsigned int l = 2 * (trackerTopology_->tibLayer(id) - 1) + s[1] - 1;
109 
110  return s[2] > sphs_[l] ? 1 : 2;
111 }
std::vector< unsigned int > sphs_
Number of strings for each surface of a half shell.
const TrackerTopology * trackerTopology_
std::vector< unsigned int > tibStringInfo(const DetId &id) const
unsigned int tibLayer(const DetId &id) const

◆ layerNumber()

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

Layer number increases with rho from 1 to 8.

Definition at line 113 of file TrackerNameSpace.cc.

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

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

◆ moduleNumber()

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

Module number increases with |z| from 1 to 3.

Definition at line 84 of file TrackerNameSpace.cc.

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

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ stringNumber()

unsigned int align::TrackerNameSpace::TIB::stringNumber ( align::ID  id) const

String number increases with |phi| from right (1) to left (sphs) of each half shell.

Definition at line 86 of file TrackerNameSpace.cc.

References MainPageGenerator::l, alignCSCRings::s, TrackerTopology::tibLayer(), TrackerTopology::tibStringInfo(), and align::TrackerNameSpace::trackerTopology_.

86  {
87  std::vector<unsigned int> s = trackerTopology_->tibStringInfo(id);
88  // s[1]: surface lower = 1, upper = 2
89  // s[2]: string no. increases with phi
90 
91  unsigned int l = 2 * (trackerTopology_->tibLayer(id) - 1) + s[1] - 1;
92 
93  // String on +y surface: number = s (1 to sphs_)
94  // String in -y surface: number = 2 * sphs_ + 1 - s (1 to sphs_)
95 
96  return s[2] > sphs_[l] ? 2 * sphs_[l] + 1 - s[2] : s[2];
97 }
std::vector< unsigned int > sphs_
Number of strings for each surface of a half shell.
const TrackerTopology * trackerTopology_
std::vector< unsigned int > tibStringInfo(const DetId &id) const
unsigned int tibLayer(const DetId &id) const

◆ surfaceNumber()

unsigned int align::TrackerNameSpace::TIB::surfaceNumber ( align::ID  id) const

Surface number is 1 for inner and 2 for outer.

Definition at line 99 of file TrackerNameSpace.cc.

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

99  {
100  return trackerTopology_->tibStringInfo(id)[1];
101 }
const TrackerTopology * trackerTopology_
std::vector< unsigned int > tibStringInfo(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 108 of file TrackerNameSpace.h.

◆ TrackerNameSpace

friend class TrackerNameSpace
friend

grant access for the enclosing TrackerNameSpace

Definition at line 105 of file TrackerNameSpace.h.

Member Data Documentation

◆ sphs_

std::vector<unsigned int> align::TrackerNameSpace::TIB::sphs_
private

Number of strings for each surface of a half shell.

Definition at line 144 of file TrackerNameSpace.h.

Referenced by TrackerAlignmentLevelBuilder::buildTIBAlignmentLevels().

◆ trackerTopology_

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

Definition at line 141 of file TrackerNameSpace.h.