ATLAS Offline Software
TRT_DetElementContainer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRT_READOUTGEOMETRY_TRT_DETELEMENTCONTAINER_H
6 #define TRT_READOUTGEOMETRY_TRT_DETELEMENTCONTAINER_H
7 
9 #include "TRT_Numerology.h"
10 #include "InDetIdentifier/TRT_ID.h"
12 
13 #include <vector>
14 
15 namespace InDetDD {
16 
17 class TRT_BaseElement;
18 class TRT_BarrelElement;
19 class TRT_EndcapElement;
20 class TRT_Numerology;
21 
23 
25 {
26 
27  public:
28 
31  // disable implicit copy constructor
33  // disable implicit assignment operator
34  void operator = (const TRT_DetElementContainer& other) = delete;
35 
36  void setNumerology(const TRT_Numerology* mynum);
37 
38  void addBarrelElement(TRT_BarrelElement *element);
39 
40  void addEndcapElement(TRT_EndcapElement *element);
41 
42  void manageBarrelElement(TRT_BarrelElement *barrel, const TRT_ID* idHelper);
43 
44  void manageEndcapElement(TRT_EndcapElement *endcap, const TRT_ID* idHelper);
45 
48 
49  const TRT_Numerology* getTRTNumerology() const;
50 
51  const TRT_BarrelElement *getBarrelDetElement(unsigned int positive
52  , unsigned int moduleIndex
53  , unsigned int phiIndex
54  , unsigned int strawLayerIndex) const;
55 
56  TRT_BarrelElement *getBarrelDetElement(unsigned int positive
57  , unsigned int moduleIndex
58  , unsigned int phiIndex
59  , unsigned int strawLayerIndex);
60 
61  const TRT_EndcapElement *getEndcapDetElement(unsigned int positive
62  , unsigned int wheelIndex
63  , unsigned int strawLayerIndex
64  , unsigned int phiIndex) const;
65 
66  TRT_EndcapElement *getEndcapDetElement(unsigned int positive
67  , unsigned int wheelIndex
68  , unsigned int strawLayerIndex
69  , unsigned int phiIndex);
70 
71  void clear();
72 
73  private:
74 
75  TRT_DetElementCollection m_trtcoll; //This is a DataVector so owns its elements
77 
78  enum {NMODMAX=3};
79  enum {NWHEELMAX=18};
80  enum {NPHIMAX=32};
81  enum {NSTRAWLAYMAXBR=30};
82  enum {NSTRAWLAYMAXEC=16};
83 
86 
87 };
88 
89 } // namespace InDetDD
90 
91 #include "AthenaKernel/CLASS_DEF.h"
93 #include "AthenaKernel/CondCont.h"
95 
96 #endif // INDETREADOUTGEOMETRY_TRT_DETELEMENTCONTAINER_H
CONDCONT_DEF
CONDCONT_DEF(InDetDD::TRT_DetElementContainer, 1178261225)
InDetDD::TRT_DetElementContainer::NSTRAWLAYMAXEC
@ NSTRAWLAYMAXEC
Definition: TRT_DetElementContainer.h:82
InDetDD::TRT_DetElementContainer::NPHIMAX
@ NPHIMAX
Definition: TRT_DetElementContainer.h:80
InDetDD::TRT_DetElementContainer::m_ecArray
TRT_EndcapElement * m_ecArray[2][NWHEELMAX][NSTRAWLAYMAXEC][NPHIMAX]
Definition: TRT_DetElementContainer.h:85
InDetDD::TRT_BarrelElement
Definition: TRT_BarrelElement.h:43
InDetDD::TRT_DetElementContainer::manageEndcapElement
void manageEndcapElement(TRT_EndcapElement *endcap, const TRT_ID *idHelper)
Definition: TRT_DetElementContainer.cxx:173
InDetDD::TRT_DetElementContainer::NSTRAWLAYMAXBR
@ NSTRAWLAYMAXBR
Definition: TRT_DetElementContainer.h:81
TRT_DetElementCollection.h
InDetDD::TRT_DetElementContainer
Class to hold different TRT detector elements structures.
Definition: TRT_DetElementContainer.h:25
TRT_ID.h
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
InDetDD::TRT_EndcapElement
Definition: TRT_EndcapElement.h:43
InDetDD::TRT_DetElementContainer::NMODMAX
@ NMODMAX
Definition: TRT_DetElementContainer.h:78
InDetDD::TRT_DetElementContainer::TRT_DetElementContainer
TRT_DetElementContainer(const TRT_DetElementContainer &other)=delete
InDetDD::TRT_DetElementContainer::addEndcapElement
void addEndcapElement(TRT_EndcapElement *element)
Definition: TRT_DetElementContainer.cxx:110
InDetDD::TRT_DetElementContainer::manageBarrelElement
void manageBarrelElement(TRT_BarrelElement *barrel, const TRT_ID *idHelper)
Definition: TRT_DetElementContainer.cxx:131
InDetDD::TRT_DetElementContainer::clear
void clear()
Definition: TRT_DetElementContainer.cxx:213
InDetDD::TRT_DetElementContainer::setNumerology
void setNumerology(const TRT_Numerology *mynum)
Definition: TRT_DetElementContainer.cxx:24
InDetDD::TRT_Numerology
Definition: TRT_Numerology.h:22
InDetDD::TRT_DetElementContainer::~TRT_DetElementContainer
~TRT_DetElementContainer()
Definition: TRT_DetElementContainer.cxx:19
InDetDD::TRT_DetElementContainer::TRT_DetElementContainer
TRT_DetElementContainer()
Definition: TRT_DetElementContainer.cxx:11
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
InDetDD::TRT_DetElementContainer::getBarrelDetElement
const TRT_BarrelElement * getBarrelDetElement(unsigned int positive, unsigned int moduleIndex, unsigned int phiIndex, unsigned int strawLayerIndex) const
Definition: TRT_DetElementContainer.cxx:44
InDetDD::TRT_DetElementContainer::m_trtcoll
TRT_DetElementCollection m_trtcoll
Definition: TRT_DetElementContainer.h:75
InDetDD::TRT_DetElementContainer::NWHEELMAX
@ NWHEELMAX
Definition: TRT_DetElementContainer.h:79
InDetDD::TRT_DetElementContainer::m_baArray
TRT_BarrelElement * m_baArray[2][NMODMAX][NPHIMAX][NSTRAWLAYMAXBR]
Definition: TRT_DetElementContainer.h:84
eflowRec::phiIndex
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
Definition: EtaPhiLUT.cxx:23
TRT_ID
Definition: TRT_ID.h:84
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
AthMessaging.h
InDetDD::TRT_DetElementContainer::getTRTNumerology
const TRT_Numerology * getTRTNumerology() const
Definition: TRT_DetElementContainer.cxx:39
InDetDD::TRT_DetElementContainer::m_trtnum
const TRT_Numerology * m_trtnum
Definition: TRT_DetElementContainer.h:76
InDetDD::TRT_DetElementContainer::operator=
void operator=(const TRT_DetElementContainer &other)=delete
InDetDD::TRT_DetElementContainer::getElements
const TRT_DetElementCollection * getElements() const
Definition: TRT_DetElementContainer.cxx:29
TRT_Numerology.h
InDetDD::TRT_DetElementCollection
Class to hold collection of TRT detector elements.
Definition: TRT_DetElementCollection.h:26
InDetDD::TRT_DetElementContainer::getEndcapDetElement
const TRT_EndcapElement * getEndcapDetElement(unsigned int positive, unsigned int wheelIndex, unsigned int strawLayerIndex, unsigned int phiIndex) const
Definition: TRT_DetElementContainer.cxx:67
CLASS_DEF.h
macros to associate a CLID to a type
InDetDD::TRT_DetElementContainer::addBarrelElement
void addBarrelElement(TRT_BarrelElement *element)
Definition: TRT_DetElementContainer.cxx:89