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

Constructor & Destructor Documentation

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

Definition at line 139 of file TrackerNameSpace.cc.

References moduleNumber().

Referenced by align::TrackerNameSpace::TPE::endcapNumber().

139  :
140  trackerTopology_(topology)
141 {
142 }
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 196 of file TrackerNameSpace.cc.

References align::TrackerNameSpace::TOB::TOB().

Referenced by halfBarrelNumber().

197 {
198  return 1;
199 }
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 190 of file TrackerNameSpace.cc.

References barrelNumber(), TrackerTopology::tibStringInfo(), and trackerTopology_.

Referenced by layerNumber().

191 {
192  return trackerTopology_->tibStringInfo(id)[0];
193 }
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 172 of file TrackerNameSpace.cc.

References checklumidiff::l, layerNumber(), alignCSCRings::s, sphs_, TrackerTopology::tibLayer(), TrackerTopology::tibStringInfo(), and trackerTopology_.

Referenced by surfaceNumber().

173 {
174  std::vector<unsigned int> s = trackerTopology_->tibStringInfo(id);
175  // s[1]: surface lower = 1, upper = 2
176  // s[2]: string no. increases with phi
177 
178  unsigned int l = 2 * (trackerTopology_->tibLayer(id) - 1) + s[1] - 1;
179 
180  return s[2] > sphs_[l] ? 1 : 2;
181 }
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 184 of file TrackerNameSpace.cc.

References halfBarrelNumber(), TrackerTopology::tibLayer(), and trackerTopology_.

Referenced by halfShellNumber().

185 {
186  return trackerTopology_->tibLayer(id);
187 }
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 145 of file TrackerNameSpace.cc.

References stringNumber(), TrackerTopology::tibModule(), and trackerTopology_.

Referenced by TIB().

146 {
147  return trackerTopology_->tibModule(id);
148 }
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 151 of file TrackerNameSpace.cc.

References checklumidiff::l, alignCSCRings::s, sphs_, surfaceNumber(), TrackerTopology::tibLayer(), TrackerTopology::tibStringInfo(), and trackerTopology_.

Referenced by moduleNumber().

152 {
153  std::vector<unsigned int> s = trackerTopology_->tibStringInfo(id);
154  // s[1]: surface lower = 1, upper = 2
155  // s[2]: string no. increases with phi
156 
157  unsigned int l = 2 * (trackerTopology_->tibLayer(id) - 1) + s[1] - 1;
158 
159  // String on +y surface: number = s (1 to sphs_)
160  // String in -y surface: number = 2 * sphs_ + 1 - s (1 to sphs_)
161 
162  return s[2] > sphs_[l] ? 2 * sphs_[l] + 1 - s[2] : s[2];
163 }
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 166 of file TrackerNameSpace.cc.

References halfShellNumber(), TrackerTopology::tibStringInfo(), and trackerTopology_.

Referenced by stringNumber().

167 {
168  return trackerTopology_->tibStringInfo(id)[1];
169 }
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 110 of file TrackerNameSpace.h.

friend class TrackerNameSpace
friend

grant access for the enclosing TrackerNameSpace

Definition at line 107 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 146 of file TrackerNameSpace.h.

Referenced by TrackerAlignmentLevelBuilder::buildTIBAlignmentLevels(), halfShellNumber(), and stringNumber().

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