ATLAS Offline Software
TRT_BarrelDescriptor.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 // TRT_BarrelDescriptor.h
8 
9 #ifndef TRT_BarrelDescriptor_h
10 #define TRT_BarrelDescriptor_h 1
13 #include "GeoModelKernel/GeoXF.h"
14 #include <vector>
15 
16 namespace Trk{
17  class CylinderBounds;
18  class SurfaceBounds;
19 }
20 
21 namespace InDetDD {
22 
40  {
41 
42  public:
43 
48 
50  ~TRT_BarrelDescriptor() = default;
51 
53  void addStraw(double xPos, double yPos);
54 
56  void setStrawTransformField(const GeoXF::Function *xf, size_t offsetInto);
57 
59  inline double & strawXPos (unsigned int i);
60  inline const double & strawXPos (unsigned int i) const;
61 
63  inline double & strawYPos (unsigned int i);
64  inline const double & strawYPos (unsigned int i) const;
65 
67  inline unsigned int nStraws() const;
68 
70  inline const double & strawLength() const;
71  inline double & strawLength();
72  inline void strawLength(double newLength);
73 
75  inline double innerTubeRadius() const;
76 
78  inline const double & strawZDead() const;
79  inline double & strawZDead();
80  inline void strawZDead(double zDead);
81 
83  inline const double & strawZPos() const;
84  inline double & strawZPos();
85  inline void strawZPos(double Pos);
86 
90  inline const GeoXF::Function *getStrawTransform() const;
91 
93  inline size_t getStrawTransformOffset() const;
94 
96  const Trk::SurfaceBounds & strawBounds() const;
97 
98  private:
99 
102 
103  std::vector<double> m_x;
104  std::vector<double> m_y;
105  double m_length;
106  double m_zDead;
107  double m_zPos;
109  const GeoXF::Function *m_f;
110  size_t m_o;
111 
113  };
114 }
115 #include "TRT_BarrelDescriptor.icc"
116 #endif
117 
118 
TRT_BarrelDescriptor.icc
InDetDD::TRT_BarrelDescriptor::TRT_BarrelDescriptor
TRT_BarrelDescriptor(const TRT_BarrelDescriptor &right)=delete
InDetDD::TRT_BarrelDescriptor::m_zPos
double m_zPos
Definition: TRT_BarrelDescriptor.h:107
InDetDD::TRT_BarrelDescriptor::m_length
double m_length
Definition: TRT_BarrelDescriptor.h:105
InDetDD::TRT_BarrelDescriptor::strawZDead
const double & strawZDead() const
Dead part.
InDetDD::TRT_BarrelDescriptor::getStrawTransformOffset
size_t getStrawTransformOffset() const
Get the offset into the transformation field:
Trk::SurfaceBounds
Definition: SurfaceBounds.h:47
InDetDD::TRT_BarrelDescriptor::strawZDead
void strawZDead(double zDead)
CxxUtils::CachedUniquePtrT
Cached pointer with atomic update.
Definition: CachedUniquePtr.h:54
InDetDD::TRT_BarrelDescriptor
Definition: TRT_BarrelDescriptor.h:40
InDetDD::TRT_BarrelDescriptor::strawXPos
double & strawXPos(unsigned int i)
Get X Position:
InDetDD::TRT_BarrelDescriptor::strawZPos
void strawZPos(double Pos)
InDetDD::TRT_BarrelDescriptor::m_zDead
double m_zDead
Definition: TRT_BarrelDescriptor.h:106
InDetDD::TRT_BarrelDescriptor::innerTubeRadius
double innerTubeRadius() const
Get inner tube radius of the straw.
InDetDD::TRT_BarrelDescriptor::strawZPos
const double & strawZPos() const
Position of center of active region.
InDetDD::TRT_BarrelDescriptor::m_x
std::vector< double > m_x
Definition: TRT_BarrelDescriptor.h:103
GeoPrimitives.h
lumiFormat.i
int i
Definition: lumiFormat.py:92
InDetDD::TRT_BarrelDescriptor::strawLength
const double & strawLength() const
Get the length of the straws:
InDetDD::TRT_BarrelDescriptor::m_bounds
CxxUtils::CachedUniquePtr< Trk::CylinderBounds > m_bounds
Definition: TRT_BarrelDescriptor.h:112
CachedUniquePtr.h
Cached unique_ptr with atomic update.
InDetDD::TRT_BarrelDescriptor::strawYPos
double & strawYPos(unsigned int i)
Get Y Position:
InDetDD::TRT_BarrelDescriptor::getStrawTransform
const GeoXF::Function * getStrawTransform() const
Get the tranformation field, which we do not own: Does not include the z shift which is different for...
InDetDD::TRT_BarrelDescriptor::~TRT_BarrelDescriptor
~TRT_BarrelDescriptor()=default
Destructor:
InDetDD::TRT_BarrelDescriptor::operator=
TRT_BarrelDescriptor & operator=(TRT_BarrelDescriptor &&right)=default
InDetDD::TRT_BarrelDescriptor::operator=
TRT_BarrelDescriptor & operator=(const TRT_BarrelDescriptor &right)=delete
InDetDD::TRT_BarrelDescriptor::strawZPos
double & strawZPos()
InDetDD::TRT_BarrelDescriptor::m_o
size_t m_o
Definition: TRT_BarrelDescriptor.h:110
InDetDD::TRT_BarrelDescriptor::strawBounds
const Trk::SurfaceBounds & strawBounds() const
Get Bounds.
Definition: TRT_BarrelDescriptor.cxx:39
InDetDD::TRT_BarrelDescriptor::strawZDead
double & strawZDead()
InDetDD::TRT_BarrelDescriptor::strawXPos
const double & strawXPos(unsigned int i) const
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDetDD::TRT_BarrelDescriptor::strawLength
void strawLength(double newLength)
InDetDD::TRT_BarrelDescriptor::setStrawTransformField
void setStrawTransformField(const GeoXF::Function *xf, size_t offsetInto)
Sets the transform field for straws and offset.
Definition: TRT_BarrelDescriptor.cxx:33
InDetDD::TRT_BarrelDescriptor::m_y
std::vector< double > m_y
Definition: TRT_BarrelDescriptor.h:104
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::TRT_BarrelDescriptor::TRT_BarrelDescriptor
TRT_BarrelDescriptor(TRT_BarrelDescriptor &&right)=default
InDetDD::TRT_BarrelDescriptor::m_innerTubeRadius
double m_innerTubeRadius
Definition: TRT_BarrelDescriptor.h:108
InDetDD::TRT_BarrelDescriptor::strawLength
double & strawLength()
InDetDD::TRT_BarrelDescriptor::strawYPos
const double & strawYPos(unsigned int i) const
InDetDD::TRT_BarrelDescriptor::m_f
const GeoXF::Function * m_f
Definition: TRT_BarrelDescriptor.h:109
InDetDD::TRT_BarrelDescriptor::addStraw
void addStraw(double xPos, double yPos)
Add a new straw at position x, y:
Definition: TRT_BarrelDescriptor.cxx:25
InDetDD::TRT_BarrelDescriptor::nStraws
unsigned int nStraws() const
Get the number of straws:
InDetDD::TRT_BarrelDescriptor::TRT_BarrelDescriptor
TRT_BarrelDescriptor()
Constructor:
Definition: TRT_BarrelDescriptor.cxx:13