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::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

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

Definition at line 82 of file TrackerNameSpace.cc.

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

Member Function Documentation

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; }
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 }
std::vector< unsigned int > tibStringInfo(const DetId &id) const
const TrackerTopology * trackerTopology_
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 cmsLHEtoEOSManager::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 }
unsigned int tibLayer(const DetId &id) const
std::vector< unsigned int > sphs_
Number of strings for each surface of a half shell.
std::vector< unsigned int > tibStringInfo(const DetId &id) const
const TrackerTopology * trackerTopology_
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); }
unsigned int tibLayer(const DetId &id) const
const TrackerTopology * trackerTopology_
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); }
const TrackerTopology * trackerTopology_
unsigned int tibModule(const DetId &id) const
TIB& align::TrackerNameSpace::TIB::operator= ( const TIB )
default
TIB& align::TrackerNameSpace::TIB::operator= ( TIB &&  )
default
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 cmsLHEtoEOSManager::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 }
unsigned int tibLayer(const DetId &id) const
std::vector< unsigned int > sphs_
Number of strings for each surface of a half shell.
std::vector< unsigned int > tibStringInfo(const DetId &id) const
const TrackerTopology * trackerTopology_
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 }
std::vector< unsigned int > tibStringInfo(const DetId &id) const
const TrackerTopology * trackerTopology_

Friends And Related Function Documentation

friend class ::TrackerAlignmentLevelBuilder
friend

grant access for the TrackerAlignmentLevelBuilder (in global namespace)

Definition at line 108 of file TrackerNameSpace.h.

friend class TrackerNameSpace
friend

grant access for the enclosing TrackerNameSpace

Definition at line 105 of file TrackerNameSpace.h.

Member Data Documentation

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

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

Definition at line 141 of file TrackerNameSpace.h.