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 &)=delete
 
TrackerAlignableIndexeroperator= (TrackerAlignableIndexer &&)=delete
 
 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 (AlignableIndexer &&)=default
 
 AlignableIndexer (const AlignableIndexer &)=default
 
virtual align::Counter get (align::StructureType, const AlignableObjectId &) const
 Get a counter based on its structure type. More...
 
AlignableIndexeroperator= (AlignableIndexer &&)=default
 
AlignableIndexeroperator= (const 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 24 of file TrackerAlignableIndexer.h.

Constructor & Destructor Documentation

◆ TrackerAlignableIndexer() [1/3]

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

Build the counters map.

Definition at line 4 of file TrackerAlignableIndexer.cc.

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

References align::TrackerNameSpace::tec(), align::TECDisk, align::TECEndcap, align::TECModule, align::TECRing, align::TECSide, AlignableIndexer::theCounters, align::TrackerNameSpace::tib(), align::TIBBarrel, align::TIBHalfBarrel, align::TIBHalfShell, align::TIBLayer, align::TIBModule, align::TIBString, align::TIBSurface, align::TrackerNameSpace::tid(), align::TIDDisk, align::TIDEndcap, align::TIDModule, align::TIDRing, align::TIDSide, tns_, align::TrackerNameSpace::tob(), align::TOBBarrel, align::TOBHalfBarrel, align::TOBModule, align::TOBRod, align::TrackerNameSpace::tpb(), align::TPBBarrel, align::TPBHalfBarrel, align::TPBLadder, align::TPBLayer, align::TPBModule, align::TrackerNameSpace::tpe(), align::TPEBlade, align::TPEEndcap, align::TPEHalfCylinder, align::TPEHalfDisk, align::TPEModule, and align::TPEPanel.

◆ TrackerAlignableIndexer() [2/3]

TrackerAlignableIndexer::TrackerAlignableIndexer ( const TrackerAlignableIndexer )
default

◆ TrackerAlignableIndexer() [3/3]

TrackerAlignableIndexer::TrackerAlignableIndexer ( TrackerAlignableIndexer &&  )
default

◆ ~TrackerAlignableIndexer()

TrackerAlignableIndexer::~TrackerAlignableIndexer ( )
overridedefault

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

TrackerAlignableIndexer& TrackerAlignableIndexer::operator= ( TrackerAlignableIndexer &&  )
delete

Member Data Documentation

◆ tns_

const align::TrackerNameSpace TrackerAlignableIndexer::tns_
private

Definition at line 35 of file TrackerAlignableIndexer.h.

Referenced by TrackerAlignableIndexer().

align::TPBHalfBarrel
Definition: StructureType.h:26
align::TPEHalfDisk
Definition: StructureType.h:33
align::TrackerNameSpace::tid
const TID & tid() const
Definition: TrackerNameSpace.h:257
align::TPBBarrel
Definition: StructureType.h:27
align
Definition: AlignableIndexer.h:30
align::TPEBlade
Definition: StructureType.h:32
align::TECEndcap
Definition: StructureType.h:66
align::TOBBarrel
Definition: StructureType.h:58
align::TPBLayer
Definition: StructureType.h:25
TOBLayer
TBPLayer TOBLayer
Definition: TOBLayer.h:11
align::TIBSurface
Definition: StructureType.h:40
align::TOBModule
Definition: StructureType.h:54
align::TPEEndcap
Definition: StructureType.h:35
align::TIBModule
Definition: StructureType.h:38
align::TIBString
Definition: StructureType.h:39
align::TrackerNameSpace::tob
const TOB & tob() const
Definition: TrackerNameSpace.h:256
align::TrackerNameSpace::tib
const TIB & tib() const
Definition: TrackerNameSpace.h:255
TECPetal
CompositeTECPetal TECPetal
Definition: TECPetal.h:7
align::TECSide
Definition: StructureType.h:64
TrackerAlignableIndexer::tns_
const align::TrackerNameSpace tns_
Definition: TrackerAlignableIndexer.h:35
align::TOBHalfBarrel
Definition: StructureType.h:57
align::TIBLayer
Definition: StructureType.h:42
AlignableIndexer::theCounters
std::map< align::StructureType, align::Counter > theCounters
Definition: AlignableIndexer.h:48
align::TIBHalfBarrel
Definition: StructureType.h:43
align::TIDRing
Definition: StructureType.h:49
align::TPBLadder
Definition: StructureType.h:24
align::TPEHalfCylinder
Definition: StructureType.h:34
align::TIDModule
Definition: StructureType.h:47
align::TIDEndcap
Definition: StructureType.h:51
align::TrackerNameSpace::tpe
const TPE & tpe() const
Definition: TrackerNameSpace.h:254
align::TrackerNameSpace::tec
const TEC & tec() const
Definition: TrackerNameSpace.h:258
align::TIDDisk
Definition: StructureType.h:50
align::TrackerNameSpace::tpb
const TPB & tpb() const
Definition: TrackerNameSpace.h:253
align::TPEModule
Definition: StructureType.h:30
align::TIBBarrel
Definition: StructureType.h:44
align::TECRing
Definition: StructureType.h:62
align::TIBHalfShell
Definition: StructureType.h:41
align::TECDisk
Definition: StructureType.h:65
align::TIDSide
Definition: StructureType.h:48
align::TECModule
Definition: StructureType.h:61
align::TOBRod
Definition: StructureType.h:55
align::TPBModule
Definition: StructureType.h:23
align::TPEPanel
Definition: StructureType.h:31