ATLAS Offline Software
TRT_EndcapElement.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // TRT_EndcapElement.h
8 // (c) ATLAS Detector software
10 
11 #ifndef TRT_EndcapElement_h
12 #define TRT_EndcapElement_h 1
16 #include <atomic>
17 
18 class TRT_ID;
19 
20 namespace Trk{
21  class SurfaceBounds;
22 }
23 
24 namespace InDetDD {
25 
26  class TRT_EndcapConditions;
27 
44  class TRT_EndcapElement final : public TRT_BaseElement {
45 
46  public:
48  TRT_EndcapElement(const GeoVFullPhysVol* volume,
49  const TRT_EndcapDescriptor* descriptor,
50  bool isPositive,
51  unsigned int wheelIndex,
52  unsigned int strawLayIndex,
53  unsigned int phiIndex,
54  const TRT_ID* idHelper,
55  const TRT_Conditions* conditions);
56 
58 
60  virtual ~TRT_EndcapElement();
61 
63  virtual TRT_BaseElement::Type type() const override final;
64 
66  virtual const double & strawLength() const override;
67 
69  virtual int strawDirection() const override final;
70 
74  static const TRT_EndcapConditions * getConditionsData() ;
75 
79 
82 
85 
87  void setNextInZ(const TRT_EndcapElement *element);
88 
90  void setPreviousInZ(const TRT_EndcapElement *element);
91 
94 
95  // Surface bounds
96  virtual const Trk::SurfaceBounds & strawBounds() const override final;
97 
98 
99  private:
102  virtual HepGeom::Transform3D calculateStrawTransform(int straw) const override;
104 
106  virtual const Trk::Surface & elementSurface() const override;
107 
109  virtual void createSurfaceCache() const override;
113 
114  // Illegal Operations:
116  delete;
117 
118  // Private Member Data:
123  };
124 
125 }
126 
127 #include "TRT_EndcapElement.icc"
128 #endif
129 
130 
TRT::Hit::straw
@ straw
Definition: HitInfo.h:82
InDetDD::TRT_EndcapElement::TRT_EndcapElement
TRT_EndcapElement(const GeoVFullPhysVol *volume, const TRT_EndcapDescriptor *descriptor, bool isPositive, unsigned int wheelIndex, unsigned int strawLayIndex, unsigned int phiIndex, const TRT_ID *idHelper, const TRT_Conditions *conditions)
Constructor.
Definition: TRT_EndcapElement.cxx:27
InDetDD::TRT_EndcapElement::setNextInZ
void setNextInZ(const TRT_EndcapElement *element)
Set Next in Z.
Definition: TRT_EndcapElement.cxx:88
InDetDD::TRT_EndcapElement::strawBounds
virtual const Trk::SurfaceBounds & strawBounds() const override final
the straw bounds
Definition: TRT_EndcapElement.cxx:185
InDetDD::TRT_EndcapElement::m_descriptor
const TRT_EndcapDescriptor * m_descriptor
Definition: TRT_EndcapElement.h:120
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
InDetDD::TRT_EndcapElement
Definition: TRT_EndcapElement.h:44
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
InDetDD::TRT_Conditions
Definition: TRT_Conditions.h:30
InDetDD::TRT_EndcapDescriptor
class TRT_EndcapDescriptor
Definition: TRT_EndcapDescriptor.h:30
TRT_EndcapCode.h
TRT_EndcapDescriptor.h
InDetDD::TRT_EndcapCode
Definition: TRT_EndcapCode.h:27
InDetDD::TRT_EndcapElement::getCode
const TRT_EndcapCode & getCode() const
Doomed (??)
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
InDetDD::TRT_EndcapElement::strawDirection
virtual int strawDirection() const override final
StrawDirection.
Definition: TRT_EndcapElement.cxx:253
InDetDD::TRT_EndcapElement::getDescriptor
const TRT_EndcapDescriptor * getDescriptor() const
Returns a pointer to a descriptor, giving common information on module construction.
Definition: TRT_EndcapElement.cxx:82
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
InDetDD::TRT_EndcapElement::calculateStrawTransform
virtual HepGeom::Transform3D calculateStrawTransform(int straw) const override
These transforms are effectively to the local coord system of a straw derived from GeoModel -> hence ...
Definition: TRT_EndcapElement.cxx:100
InDetDD::TRT_EndcapElement::~TRT_EndcapElement
virtual ~TRT_EndcapElement()
Destructor:
InDetDD::TRT_BaseElement::conditions
const TRT_Conditions * conditions() const
Return the TRT_Conditions object associated to this Detector element.
InDetDD::TRT_EndcapElement::m_code
TRT_EndcapCode m_code
Definition: TRT_EndcapElement.h:119
InDetDD::TRT_EndcapElement::elementSurface
virtual const Trk::Surface & elementSurface() const override
return the surface of the element
Definition: TRT_EndcapElement.cxx:191
InDetDD::TRT_EndcapElement::m_nextInZ
const TRT_EndcapElement * m_nextInZ
Definition: TRT_EndcapElement.h:121
InDetDD::TRT_EndcapElement::setPreviousInZ
void setPreviousInZ(const TRT_EndcapElement *element)
Set Previous in Z.
Definition: TRT_EndcapElement.cxx:94
InDetDD::TRT_EndcapElement::nextInZ
const TRT_EndcapElement * nextInZ() const
Next in Z:
InDetDD::TRT_BaseElement::Type
Type
Definition: TRT_BaseElement.h:61
InDetDD::TRT_EndcapElement::getConditionsData
static const TRT_EndcapConditions * getConditionsData()
Returns a pointer to conditions data.
Definition: TRT_EndcapElement.cxx:76
TRT_BaseElement.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDetDD::SurfaceCache
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:68
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
InDetDD::TRT_EndcapElement::type
virtual TRT_BaseElement::Type type() const override final
Type information:
HepGeom
Definition: VP1String.h:30
eflowRec::phiIndex
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
Definition: EtaPhiLUT.cxx:23
InDetDD::TRT_EndcapElement::strawLength
virtual const double & strawLength() const override
Active straw length.
Definition: TRT_EndcapElement.cxx:70
TRT_ID
Definition: TRT_ID.h:84
calibdata.delete
list delete
Definition: calibdata.py:46
InDetDD::TRT_EndcapElement::calculateLocalStrawTransform
HepGeom::Transform3D calculateLocalStrawTransform(int straw) const
Definition: TRT_EndcapElement.cxx:144
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::TRT_EndcapElement::previousInZ
const TRT_EndcapElement * previousInZ() const
Prev in Z:
InDetDD::TRT_EndcapElement::m_previousInZ
const TRT_EndcapElement * m_previousInZ
Definition: TRT_EndcapElement.h:122
InDetDD::TRT_EndcapElement::createSurfaceCache
virtual void createSurfaceCache() const override
create the cache for the element
Definition: TRT_EndcapElement.cxx:199
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:57
InDetDD::TRT_EndcapElement::createSurfaceCacheHelper
SurfaceCache createSurfaceCacheHelper() const
Definition: TRT_EndcapElement.cxx:211