ATLAS Offline Software
TRT_EndcapDescriptor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // SiDetectorElementCollection.h
8 
9 #ifndef TRT_EndcapDescriptor_h
10 #define TRT_EndcapDescriptor_h 1
13 #include "GeoModelKernel/GeoXF.h"
14 
15 namespace Trk{
16  class CylinderBounds;
17  class SurfaceBounds;
18 }
19 
20 namespace InDetDD {
21 
29 
30  {
31 
32  public:
33 
36 
39 
41  ~TRT_EndcapDescriptor() = default;
42 
44  void setStrawTransformField(const GeoXF::Function *xf, size_t offsetInto);
45 
47  unsigned int &nStraws();
48  inline const unsigned int &nStraws() const;
49 
51  double &strawPitch();
52  inline const double &strawPitch() const;
53 
55  double &startPhi();
56  inline const double &startPhi() const;
57 
58  //** The straw length: */
59  double &strawLength();
60  inline const double &strawLength() const;
61 
63  double &innerRadius();
64  inline const double &innerRadius() const;
65 
67  inline double innerTubeRadius() const;
68 
70  inline const GeoXF::Function *getStrawTransform() const;
71 
73  inline size_t getStrawTransformOffset() const;
74 
76  const Trk::SurfaceBounds & strawBounds() const;
77 
78 
79  private:
80 
83 
84 
85  // Number of straws in the module.
86  unsigned int m_nStraws;
87 
88  // (Angular) straw pitch
89  double m_strawPitch;
90 
91  // Starting phi:
92  double m_startPhi;
93 
94  // Straw length:
95  double m_strawLength;
96 
97  // Inner radius of straw:
98  double m_innerRadius;
99 
100  // Inner tube radius of straw.
102 
103  // The straw transformation field:
104  const GeoXF::Function *m_f;
105 
106  // And offset:
107  size_t m_o;
108 
109  // Bounds
111 
112  };
113 }
114 
115 
116 #include "TRT_EndcapDescriptor.icc"
117 
118 
119 
120 #endif
InDetDD::TRT_EndcapDescriptor::operator=
TRT_EndcapDescriptor & operator=(TRT_EndcapDescriptor &&right)=default
InDetDD::TRT_EndcapDescriptor::m_startPhi
double m_startPhi
Definition: TRT_EndcapDescriptor.h:92
InDetDD::TRT_EndcapDescriptor::m_innerTubeRadius
double m_innerTubeRadius
Definition: TRT_EndcapDescriptor.h:101
InDetDD::TRT_EndcapDescriptor::innerRadius
double & innerRadius()
The inner radius:
Definition: TRT_EndcapDescriptor.cxx:49
Trk::SurfaceBounds
Definition: SurfaceBounds.h:47
CxxUtils::CachedUniquePtrT
Cached pointer with atomic update.
Definition: CachedUniquePtr.h:54
InDetDD::TRT_EndcapDescriptor::strawBounds
const Trk::SurfaceBounds & strawBounds() const
Get Bounds.
Definition: TRT_EndcapDescriptor.cxx:54
InDetDD::TRT_EndcapDescriptor::nStraws
unsigned int & nStraws()
The number of straws in a module:
Definition: TRT_EndcapDescriptor.cxx:33
InDetDD::TRT_EndcapDescriptor
class TRT_EndcapDescriptor
Definition: TRT_EndcapDescriptor.h:30
InDetDD::TRT_EndcapDescriptor::setStrawTransformField
void setStrawTransformField(const GeoXF::Function *xf, size_t offsetInto)
Sets the transform field for straws and offset.
Definition: TRT_EndcapDescriptor.cxx:28
InDetDD::TRT_EndcapDescriptor::m_strawPitch
double m_strawPitch
Definition: TRT_EndcapDescriptor.h:89
GeoPrimitives.h
InDetDD::TRT_EndcapDescriptor::getStrawTransform
const GeoXF::Function * getStrawTransform() const
Get the tranformation field, which we do not own:
InDetDD::TRT_EndcapDescriptor::strawLength
const double & strawLength() const
InDetDD::TRT_EndcapDescriptor::m_o
size_t m_o
Definition: TRT_EndcapDescriptor.h:107
InDetDD::TRT_EndcapDescriptor::~TRT_EndcapDescriptor
~TRT_EndcapDescriptor()=default
Destructor.
InDetDD::TRT_EndcapDescriptor::nStraws
const unsigned int & nStraws() const
CachedUniquePtr.h
Cached unique_ptr with atomic update.
InDetDD::TRT_EndcapDescriptor::innerRadius
const double & innerRadius() const
TRT_EndcapDescriptor.icc
InDetDD::TRT_EndcapDescriptor::m_f
const GeoXF::Function * m_f
Definition: TRT_EndcapDescriptor.h:104
InDetDD::TRT_EndcapDescriptor::m_nStraws
unsigned int m_nStraws
Definition: TRT_EndcapDescriptor.h:86
InDetDD::TRT_EndcapDescriptor::startPhi
const double & startPhi() const
InDetDD::TRT_EndcapDescriptor::startPhi
double & startPhi()
The starting phi (angular!!)
Definition: TRT_EndcapDescriptor.cxx:41
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDetDD::TRT_EndcapDescriptor::getStrawTransformOffset
size_t getStrawTransformOffset() const
Get the offset into the transformation field:
InDetDD::TRT_EndcapDescriptor::strawPitch
double & strawPitch()
The straw pitch (angular!!)
Definition: TRT_EndcapDescriptor.cxx:37
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::TRT_EndcapDescriptor::strawLength
double & strawLength()
Definition: TRT_EndcapDescriptor.cxx:45
InDetDD::TRT_EndcapDescriptor::TRT_EndcapDescriptor
TRT_EndcapDescriptor(const TRT_EndcapDescriptor &right)=delete
InDetDD::TRT_EndcapDescriptor::TRT_EndcapDescriptor
TRT_EndcapDescriptor(TRT_EndcapDescriptor &&right)=default
InDetDD::TRT_EndcapDescriptor::m_strawLength
double m_strawLength
Definition: TRT_EndcapDescriptor.h:95
InDetDD::TRT_EndcapDescriptor::strawPitch
const double & strawPitch() const
InDetDD::TRT_EndcapDescriptor::m_innerRadius
double m_innerRadius
Definition: TRT_EndcapDescriptor.h:98
InDetDD::TRT_EndcapDescriptor::m_bounds
CxxUtils::CachedUniquePtr< Trk::CylinderBounds > m_bounds
Definition: TRT_EndcapDescriptor.h:110
InDetDD::TRT_EndcapDescriptor::TRT_EndcapDescriptor
TRT_EndcapDescriptor()
Constructor.
Definition: TRT_EndcapDescriptor.cxx:15
InDetDD::TRT_EndcapDescriptor::operator=
TRT_EndcapDescriptor & operator=(const TRT_EndcapDescriptor &right)=delete
InDetDD::TRT_EndcapDescriptor::innerTubeRadius
double innerTubeRadius() const
Get inner tube radius of the straw.