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

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

Definition at line 16 of file TrackerNameSpace.cc.

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

Member Function Documentation

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; }
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 c, cmsLHEtoEOSManager::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_
const edm::EventSetup & c
unsigned int pxbLadder(const DetId &id) const
unsigned int pxbLayer(const DetId &id) const
std::vector< unsigned int > lpqc_
Number of ladders for each quarter cylinder.
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 c, cmsLHEtoEOSManager::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_
const edm::EventSetup & c
unsigned int pxbLadder(const DetId &id) const
unsigned int pxbLayer(const DetId &id) const
std::vector< unsigned int > lpqc_
Number of ladders for each quarter cylinder.
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
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
TPB& align::TrackerNameSpace::TPB::operator= ( const TPB )
default
TPB& align::TrackerNameSpace::TPB::operator= ( TPB &&  )
default

Friends And Related Function Documentation

friend class ::TrackerAlignmentLevelBuilder
friend

grant access for the TrackerAlignmentLevelBuilder (in global namespace)

Definition at line 29 of file TrackerNameSpace.h.

friend class TrackerNameSpace
friend

grant access for the enclosing TrackerNameSpace

Definition at line 26 of file TrackerNameSpace.h.

Member Data Documentation

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

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

Definition at line 56 of file TrackerNameSpace.h.