CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
TrackerAlignableIndexer Class Reference

#include <TrackerAlignableIndexer.h>

Inheritance diagram for TrackerAlignableIndexer:
AlignableIndexer

Public Member Functions

TrackerAlignableIndexeroperator= (const TrackerAlignableIndexer &)=default
 
TrackerAlignableIndexeroperator= (TrackerAlignableIndexer &&)=default
 
 TrackerAlignableIndexer (const align::TrackerNameSpace &)
 Build the counters map. More...
 
 TrackerAlignableIndexer (const TrackerAlignableIndexer &)=default
 
 TrackerAlignableIndexer (TrackerAlignableIndexer &&)=default
 
 ~TrackerAlignableIndexer () override=default
 
- Public Member Functions inherited from AlignableIndexer
 AlignableIndexer ()=default
 Build the counters map. More...
 
 AlignableIndexer (const AlignableIndexer &)=default
 
 AlignableIndexer (AlignableIndexer &&)=default
 
virtual align::Counter get (align::StructureType, const AlignableObjectId &) const
 Get a counter based on its structure type. More...
 
AlignableIndexeroperator= (const AlignableIndexer &)=default
 
AlignableIndexeroperator= (AlignableIndexer &&)=default
 
virtual ~AlignableIndexer ()=default
 

Private Attributes

const align::TrackerNameSpace tns_
 

Additional Inherited Members

- Protected Attributes inherited from AlignableIndexer
std::map< align::StructureType, align::CountertheCounters
 

Detailed Description

Concrete implementation of AlignableIndexer for the tracker-alignables.

Allows to set an id to each alignable. Actual counter definitions are in separate header files.

Date
2007/10/08 13:36:11
Revision
1.1
Author
Chung Khim Lae

Last Update: Max Stark Date: Wed, 17 Feb 2016 15:39:06 CET

Definition at line 25 of file TrackerAlignableIndexer.h.

Constructor & Destructor Documentation

TrackerAlignableIndexer::TrackerAlignableIndexer ( const align::TrackerNameSpace tns)

Build the counters map.

Definition at line 6 of file TrackerAlignableIndexer.cc.

References align::TECDisk, align::TECEndcap, align::TECModule, align::TECRing, align::TECSide, align::TIBBarrel, align::TIBHalfBarrel, align::TIBHalfShell, align::TIBLayer, align::TIBModule, align::TIBString, align::TIBSurface, align::TIDDisk, align::TIDEndcap, align::TIDModule, align::TIDRing, align::TIDSide, align::TOBBarrel, align::TOBHalfBarrel, align::TOBModule, align::TOBRod, align::TPBBarrel, align::TPBHalfBarrel, align::TPBLadder, align::TPBLayer, align::TPBModule, align::TPEBlade, align::TPEEndcap, align::TPEHalfCylinder, align::TPEHalfDisk, align::TPEModule, and align::TPEPanel.

6  :
7  tns_(tns)
8 {
9  using namespace std::placeholders;
10  using namespace align;
11  theCounters.clear();
12 
13  // Barrel Pixel
14  theCounters[TPBModule] = std::bind(&TrackerNameSpace::TPB::moduleNumber, &(tns_.tpb()), _1);
15  theCounters[TPBLadder] = std::bind(&TrackerNameSpace::TPB::ladderNumber, &(tns_.tpb()), _1);
16  theCounters[TPBLayer] = std::bind(&TrackerNameSpace::TPB::layerNumber, &(tns_.tpb()), _1);
17  theCounters[TPBHalfBarrel] = std::bind(&TrackerNameSpace::TPB::halfBarrelNumber, &(tns_.tpb()), _1);
18  theCounters[TPBBarrel] = std::bind(&TrackerNameSpace::TPB::barrelNumber, &(tns_.tpb()), _1);
19 
20  // Forward Pixel
21  theCounters[TPEModule] = std::bind(&TrackerNameSpace::TPE::moduleNumber, &(tns_.tpe()), _1);
22  theCounters[TPEPanel] = std::bind(&TrackerNameSpace::TPE::panelNumber, &(tns_.tpe()), _1);
23  theCounters[TPEBlade] = std::bind(&TrackerNameSpace::TPE::bladeNumber, &(tns_.tpe()), _1);
24  theCounters[TPEHalfDisk] = std::bind(&TrackerNameSpace::TPE::halfDiskNumber, &(tns_.tpe()), _1);
25  theCounters[TPEHalfCylinder] = std::bind(&TrackerNameSpace::TPE::halfCylinderNumber, &(tns_.tpe()), _1);
26  theCounters[TPEEndcap] = std::bind(&TrackerNameSpace::TPE::endcapNumber, &(tns_.tpe()), _1);
27 
28  // Tracker Inner Barrel
29  theCounters[TIBModule] = std::bind(&TrackerNameSpace::TIB::moduleNumber, &(tns_.tib()), _1);
30  theCounters[TIBString] = std::bind(&TrackerNameSpace::TIB::stringNumber, &(tns_.tib()), _1);
31  theCounters[TIBSurface] = std::bind(&TrackerNameSpace::TIB::surfaceNumber, &(tns_.tib()), _1);
32  theCounters[TIBHalfShell] = std::bind(&TrackerNameSpace::TIB::halfShellNumber, &(tns_.tib()), _1);
33  theCounters[TIBLayer] = std::bind(&TrackerNameSpace::TIB::layerNumber, &(tns_.tib()), _1);
34  theCounters[TIBHalfBarrel] = std::bind(&TrackerNameSpace::TIB::halfBarrelNumber, &(tns_.tib()), _1);
35  theCounters[TIBBarrel] = std::bind(&TrackerNameSpace::TIB::barrelNumber, &(tns_.tib()), _1);
36 
37  // Tracker Inner Disk
38  theCounters[TIDModule] = std::bind(&TrackerNameSpace::TID::moduleNumber, &(tns_.tid()), _1);
39  theCounters[TIDSide] = std::bind(&TrackerNameSpace::TID::sideNumber, &(tns_.tid()), _1);
40  theCounters[TIDRing] = std::bind(&TrackerNameSpace::TID::ringNumber, &(tns_.tid()), _1);
41  theCounters[TIDDisk] = std::bind(&TrackerNameSpace::TID::diskNumber, &(tns_.tid()), _1);
42  theCounters[TIDEndcap] = std::bind(&TrackerNameSpace::TID::endcapNumber, &(tns_.tid()), _1);
43 
44  // Tracker Outer Barrel
45  theCounters[TOBModule] = std::bind(&TrackerNameSpace::TOB::moduleNumber, &(tns_.tob()), _1);
46  theCounters[TOBRod] = std::bind(&TrackerNameSpace::TOB::rodNumber, &(tns_.tob()), _1);
47  theCounters[TOBLayer] = std::bind(&TrackerNameSpace::TOB::layerNumber, &(tns_.tob()), _1);
48  theCounters[TOBHalfBarrel] = std::bind(&TrackerNameSpace::TOB::halfBarrelNumber, &(tns_.tob()), _1);
49  theCounters[TOBBarrel] = std::bind(&TrackerNameSpace::TOB::barrelNumber, &(tns_.tob()), _1);
50 
51  // Tracker Endcaps
52  theCounters[TECModule] = std::bind(&TrackerNameSpace::TEC::moduleNumber, &(tns_.tec()), _1);
53  theCounters[TECRing] = std::bind(&TrackerNameSpace::TEC::ringNumber, &(tns_.tec()), _1);
54  theCounters[TECPetal] = std::bind(&TrackerNameSpace::TEC::petalNumber, &(tns_.tec()), _1);
55  theCounters[TECSide] = std::bind(&TrackerNameSpace::TEC::sideNumber, &(tns_.tec()), _1);
56  theCounters[TECDisk] = std::bind(&TrackerNameSpace::TEC::diskNumber, &(tns_.tec()), _1);
57  theCounters[TECEndcap] = std::bind(&TrackerNameSpace::TEC::endcapNumber, &(tns_.tec()), _1);
58 }
const TIB & tib() const
const TPB & tpb() const
TBPLayer TOBLayer
Definition: TOBLayer.h:12
std::map< align::StructureType, align::Counter > theCounters
const TPE & tpe() const
const TEC & tec() const
const align::TrackerNameSpace tns_
const TOB & tob() const
CompositeTECPetal TECPetal
Definition: TECPetal.h:8
const TID & tid() const
TrackerAlignableIndexer::TrackerAlignableIndexer ( const TrackerAlignableIndexer )
default
TrackerAlignableIndexer::TrackerAlignableIndexer ( TrackerAlignableIndexer &&  )
default
TrackerAlignableIndexer::~TrackerAlignableIndexer ( )
overridedefault

Member Function Documentation

TrackerAlignableIndexer& TrackerAlignableIndexer::operator= ( const TrackerAlignableIndexer )
default
TrackerAlignableIndexer& TrackerAlignableIndexer::operator= ( TrackerAlignableIndexer &&  )
default

Member Data Documentation

const align::TrackerNameSpace TrackerAlignableIndexer::tns_
private

Definition at line 37 of file TrackerAlignableIndexer.h.