ATLAS Offline Software
Loading...
Searching...
No Matches
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
15namespace Trk{
16 class CylinderBounds;
17 class SurfaceBounds;
18}
19
20namespace InDetDD {
21
27
29
30 {
31
32 public:
33
36
39
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
90
91 // Starting phi:
92 double m_startPhi;
93
94 // Straw length:
96
97 // Inner radius of straw:
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
117
118
119
120#endif
Cached unique_ptr with atomic update.
const Trk::SurfaceBounds & strawBounds() const
Get Bounds.
double & strawPitch()
The straw pitch (angular!
double innerTubeRadius() const
Get inner tube radius of the straw.
TRT_EndcapDescriptor(const TRT_EndcapDescriptor &right)=delete
const unsigned int & nStraws() const
void setStrawTransformField(const GeoXF::Function *xf, size_t offsetInto)
Sets the transform field for straws and offset.
const double & innerRadius() const
TRT_EndcapDescriptor & operator=(TRT_EndcapDescriptor &&right)=default
TRT_EndcapDescriptor(TRT_EndcapDescriptor &&right)=default
double & startPhi()
The starting phi (angular!
const double & startPhi() const
~TRT_EndcapDescriptor()=default
Destructor.
const GeoXF::Function * getStrawTransform() const
Get the tranformation field, which we do not own:
size_t getStrawTransformOffset() const
Get the offset into the transformation field:
CxxUtils::CachedUniquePtr< Trk::CylinderBounds > m_bounds
unsigned int & nStraws()
The number of straws in a module:
const double & strawPitch() const
double & innerRadius()
The inner radius:
TRT_EndcapDescriptor & operator=(const TRT_EndcapDescriptor &right)=delete
const double & strawLength() const
Bounds for a cylindrical Surface.
Abstract base class for surface bounds to be specified.
CachedUniquePtrT< const T > CachedUniquePtr
Message Stream Member.
Ensure that the ATLAS eigen extensions are properly loaded.