ATLAS Offline Software
TRT_BarrelElement.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_BarrelElement.h
8 // (c) ATLAS Detector software
10 
11 #ifndef TRT_BarrelElement_h
12 #define TRT_BarrelElement_h 1
16 #include <atomic>
17 
18 class TRT_ID;
19 
20 namespace Trk{
21  class Surface;
22  class SurfaceBounds;
23 }
24 
25 class SurfaceCache;
26 
27 namespace InDetDD {
28 
29  class TRT_BarrelConditions;
30 
44  class TRT_BarrelElement final: public TRT_BaseElement {
45 
46  public:
47 
49  TRT_BarrelElement(const GeoVFullPhysVol* volume,
50  const TRT_BarrelDescriptor* descriptor,
51  bool isPositive,
52  unsigned int modIndex,
53  unsigned int phiIndex,
54  unsigned int strawLayIndex,
55  const TRT_ID* idHelper,
56  const TRT_Conditions* conditions);
57 
59 
61  virtual ~TRT_BarrelElement() = default;
62 
64  virtual TRT_BaseElement::Type type() const override final;
65 
69  static const TRT_BarrelConditions * getConditionsData() ;
70 
74 
77  inline double strawXPos (unsigned int i) const;
78 
81  inline double strawYPos (unsigned int i) const;
82 
85  inline double strawZPos (unsigned int i) const;
86 
88  virtual const double & strawLength() const override final;
89 
91  virtual int strawDirection() const override final;
92 
95 
98 
101 
104 
106  void setNextInPhi(const TRT_BarrelElement *element);
107 
110 
112  void setNextInR(const TRT_BarrelElement *element);
113 
115  void setPreviousInR(const TRT_BarrelElement *element);
116 
119 
121  virtual const Trk::SurfaceBounds & strawBounds() const override final;
122 
123  private:
128  virtual HepGeom::Transform3D calculateStrawTransform(int straw) const override;
131  virtual const Trk::Surface & elementSurface() const override;
133  virtual void createSurfaceCache() const override;
135 
136  // Private Member data:
143  };
144 }
145 
146 #include "TRT_BarrelElement.icc"
147 #endif
148 
149 
InDetDD::TRT_BarrelElement::strawXPos
double strawXPos(unsigned int i) const
Get X Position: DEPRECATED.
InDetDD::TRT_BarrelElement::m_nextInPhi
const TRT_BarrelElement * m_nextInPhi
Definition: TRT_BarrelElement.h:139
InDetDD::TRT_BarrelElement
Definition: TRT_BarrelElement.h:44
TRT::Hit::straw
@ straw
Definition: HitInfo.h:82
InDetDD::TRT_BarrelElement::setPreviousInR
void setPreviousInR(const TRT_BarrelElement *element)
Sets the previous-in-r detector.
Definition: TRT_BarrelElement.cxx:92
InDetDD::TRT_BarrelElement::createSurfaceCache
virtual void createSurfaceCache() const override
create the cache for the element
Definition: TRT_BarrelElement.cxx:166
InDetDD::TRT_BarrelElement::previousInPhi
const TRT_BarrelElement * previousInPhi() const
Returns the previous-in-phi detector element, or zero if none (forseeing gaps, in other words).
InDetDD::TRT_BarrelElement::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_BarrelElement.cxx:99
InDetDD::TRT_BarrelDescriptor
Definition: TRT_BarrelDescriptor.h:40
InDetDD::TRT_BarrelElement::type
virtual TRT_BaseElement::Type type() const override final
Type information.
InDetDD::TRT_BarrelElement::m_nextInR
const TRT_BarrelElement * m_nextInR
Definition: TRT_BarrelElement.h:141
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
InDetDD::TRT_BarrelElement::strawBounds
virtual const Trk::SurfaceBounds & strawBounds() const override final
Surface bounds.
Definition: TRT_BarrelElement.cxx:153
InDetDD::TRT_BarrelElement::m_descriptor
const TRT_BarrelDescriptor * m_descriptor
Definition: TRT_BarrelElement.h:138
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
InDetDD::TRT_Conditions
Definition: TRT_Conditions.h:30
InDetDD::TRT_BarrelElement::setNextInPhi
void setNextInPhi(const TRT_BarrelElement *element)
Sets the next-in-phi detector.
Definition: TRT_BarrelElement.cxx:77
InDetDD::TRT_BarrelElement::setNextInR
void setNextInR(const TRT_BarrelElement *element)
Sets the next-in-r detector.
Definition: TRT_BarrelElement.cxx:87
InDetDD::TRT_BarrelElement::m_previousInPhi
const TRT_BarrelElement * m_previousInPhi
Definition: TRT_BarrelElement.h:140
InDetDD::TRT_BarrelElement::nextInPhi
const TRT_BarrelElement * nextInPhi() const
Returns the next-in-phi detector element, or zero if none (forseeing gaps, in other words).
InDetDD::TRT_BarrelElement::getConditionsData
static const TRT_BarrelConditions * getConditionsData()
Returns a pointer to conditions data.
Definition: TRT_BarrelElement.cxx:67
InDetDD::TRT_BarrelElement::~TRT_BarrelElement
virtual ~TRT_BarrelElement()=default
Destructor:
InDetDD::TRT_BarrelElement::createSurfaceCacheHelper
SurfaceCache createSurfaceCacheHelper() const
Definition: TRT_BarrelElement.cxx:179
lumiFormat.i
int i
Definition: lumiFormat.py:92
InDetDD::TRT_BarrelElement::getDescriptor
const TRT_BarrelDescriptor * getDescriptor() const
Returns a pointer to a descriptor, giving common information on module construction:
Definition: TRT_BarrelElement.cxx:72
InDetDD::TRT_BarrelElement::strawLength
virtual const double & strawLength() const override final
Get the length of the straws (active length):
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
InDetDD::TRT_BarrelElement::TRT_BarrelElement
TRT_BarrelElement(const GeoVFullPhysVol *volume, const TRT_BarrelDescriptor *descriptor, bool isPositive, unsigned int modIndex, unsigned int phiIndex, unsigned int strawLayIndex, const TRT_ID *idHelper, const TRT_Conditions *conditions)
Constructor:
Definition: TRT_BarrelElement.cxx:25
InDetDD::TRT_BarrelElement::nextInR
const TRT_BarrelElement * nextInR() const
Returns the next-in-R detector element, or zero if none.
InDetDD::TRT_BaseElement::conditions
const TRT_Conditions * conditions() const
Return the TRT_Conditions object associated to this Detector element.
InDetDD::TRT_BarrelElement::m_previousInR
const TRT_BarrelElement * m_previousInR
Definition: TRT_BarrelElement.h:142
TRT_BarrelDescriptor.h
InDetDD::TRT_BarrelElement::calculateLocalStrawTransform
HepGeom::Transform3D calculateLocalStrawTransform(int straw) const
Definition: TRT_BarrelElement.cxx:126
InDetDD::TRT_BarrelElement::getCode
const TRT_BarrelCode & getCode() const
Doomed (?):
InDetDD::TRT_BaseElement::Type
Type
Definition: TRT_BaseElement.h:61
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_BarrelElement::strawDirection
virtual int strawDirection() const override final
StrawDirection.
Definition: TRT_BarrelElement.cxx:231
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
TRT_ID
Definition: TRT_ID.h:84
calibdata.delete
list delete
Definition: calibdata.py:46
InDetDD::TRT_BarrelElement::m_code
TRT_BarrelCode m_code
Definition: TRT_BarrelElement.h:137
InDetDD::TRT_BarrelElement::elementSurface
virtual const Trk::Surface & elementSurface() const override
return the surface of the element
Definition: TRT_BarrelElement.cxx:158
InDetDD::TRT_BarrelElement::strawZPos
double strawZPos(unsigned int i) const
Get Z Position: (active center) DEPRECATED.
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::TRT_BarrelElement::previousInR
const TRT_BarrelElement * previousInR() const
Returns the next-in-R detector element, or zero if none.
InDetDD::TRT_BarrelCode
Definition: TRT_BarrelCode.h:27
InDetDD::TRT_BarrelElement::setPreviousInPhi
void setPreviousInPhi(const TRT_BarrelElement *element)
Sets the previous-in-phi detector.
Definition: TRT_BarrelElement.cxx:82
TRT_BarrelCode.h
InDetDD::TRT_BarrelElement::strawYPos
double strawYPos(unsigned int i) const
Get Y Position: DEPRECATED.
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:57