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 
47 
48  const TRT_Numerology* getTRTNumerology() const;
49 
50  const TRT_BarrelElement *getBarrelDetElement(unsigned int positive
51  , unsigned int moduleIndex
52  , unsigned int phiIndex
53  , unsigned int strawLayerIndex) const;
54 
55  TRT_BarrelElement *getBarrelDetElement(unsigned int positive
56  , unsigned int moduleIndex
57  , unsigned int phiIndex
58  , unsigned int strawLayerIndex);
59 
60  const TRT_EndcapElement *getEndcapDetElement(unsigned int positive
61  , unsigned int wheelIndex
62  , unsigned int strawLayerIndex
63  , unsigned int phiIndex) const;
64 
65  TRT_EndcapElement *getEndcapDetElement(unsigned int positive
66  , unsigned int wheelIndex
67  , unsigned int strawLayerIndex
68  , unsigned int phiIndex);
69 
70  void clear();
71 
72  private:
73 
76 
77  enum {NMODMAX=3};
78  enum {NWHEELMAX=18};
79  enum {NPHIMAX=32};
80  enum {NSTRAWLAYMAXBR=30};
81  enum {NSTRAWLAYMAXEC=16};
82 
85 
86 };
87 
88 } // namespace InDetDD
89 
90 #include "AthenaKernel/CLASS_DEF.h"
92 #include "AthenaKernel/CondCont.h"
94 
95 #endif // INDETREADOUTGEOMETRY_TRT_DETELEMENTCONTAINER_H
CONDCONT_DEF
CONDCONT_DEF(InDetDD::TRT_DetElementContainer, 1178261225)
InDetDD::TRT_DetElementContainer::m_ecArray
TRT_EndcapElement * m_ecArray[2][NWHEELMAX][NSTRAWLAYMAXEC][NPHIMAX]
Definition: TRT_DetElementContainer.h:84
InDetDD::TRT_BarrelElement
Definition: TRT_BarrelElement.h:44
InDetDD::TRT_DetElementContainer::manageEndcapElement
void manageEndcapElement(TRT_EndcapElement *endcap, const TRT_ID *idHelper)
Definition: TRT_DetElementContainer.cxx:168
InDetDD::TRT_DetElementContainer::NPHIMAX
@ NPHIMAX
Definition: TRT_DetElementContainer.h:79
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:44
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:105
InDetDD::TRT_DetElementContainer::manageBarrelElement
void manageBarrelElement(TRT_BarrelElement *barrel, const TRT_ID *idHelper)
Definition: TRT_DetElementContainer.cxx:126
InDetDD::TRT_DetElementContainer::clear
void clear()
Definition: TRT_DetElementContainer.cxx:208
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::NSTRAWLAYMAXBR
@ NSTRAWLAYMAXBR
Definition: TRT_DetElementContainer.h:80
InDetDD::TRT_DetElementContainer::TRT_DetElementContainer
TRT_DetElementContainer()
Definition: TRT_DetElementContainer.cxx:11
InDetDD::TRT_DetElementContainer::NSTRAWLAYMAXEC
@ NSTRAWLAYMAXEC
Definition: TRT_DetElementContainer.h:81
InDetDD::TRT_DetElementContainer::NWHEELMAX
@ NWHEELMAX
Definition: TRT_DetElementContainer.h:78
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:39
InDetDD::TRT_DetElementContainer::m_trtcoll
TRT_DetElementCollection m_trtcoll
Definition: TRT_DetElementContainer.h:74
InDetDD::TRT_DetElementContainer::NMODMAX
@ NMODMAX
Definition: TRT_DetElementContainer.h:77
InDetDD::TRT_DetElementContainer::m_baArray
TRT_BarrelElement * m_baArray[2][NMODMAX][NPHIMAX][NSTRAWLAYMAXBR]
Definition: TRT_DetElementContainer.h:83
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:64
AthMessaging.h
InDetDD::TRT_DetElementContainer::getTRTNumerology
const TRT_Numerology * getTRTNumerology() const
Definition: TRT_DetElementContainer.cxx:34
InDetDD::TRT_DetElementContainer::m_trtnum
const TRT_Numerology * m_trtnum
Definition: TRT_DetElementContainer.h:75
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:28
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:62
CLASS_DEF.h
macros to associate a CLID to a type
InDetDD::TRT_DetElementContainer::addBarrelElement
void addBarrelElement(TRT_BarrelElement *element)
Definition: TRT_DetElementContainer.cxx:84