ATLAS Offline Software
SiDetElementsLayer_xk.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // Header file for class SiDetElementsLayer_xk
8 // (c) ATLAS Detector software
10 // Class for detector elements layer
12 // Version 1.0 3/10/2004 I.Gavrilenko
14 
15 #ifndef SiDetElementsLayer_xk_H
16 #define SiDetElementsLayer_xk_H
17 
18 #include <utility>
19 #include <vector>
20 #include <list>
23 
24 namespace InDet{
25 
26 
28  {
30  // Public methods:
32 
33  public:
34 
36  // Standard tool methods
38 
40  SiDetElementsLayer_xk(double,double,double,double,double);
41 
47 
49  // Main methods
51 
52  const float & r () const {return m_r ;}
53  const float & dr () const {return m_dr ;}
54  const float & z () const {return m_z ;}
55  const float & dz () const {return m_dz ;}
56  const float & dfe () const {return m_dfe ;}
57  std::vector<SiDetElementLink_xk>& elements() {return m_elements;}
58  const std::vector<SiDetElementLink_xk>& elements() const {return m_elements;}
59 
60  void set(double,double,double,double,double);
61  void add(const SiDetElementLink_xk&);
62  int nElements() const;
63 
64 
81  (const std::array<float,6> & startingPoint,
82  const std::array<float,3> & searchDirection,
83  std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
84  std::vector<bool> &used) const;
85 
87  (const std::array<float,6> & startingPoint,
88  const std::array<float,3> & searchDirection,
89  std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
90  std::vector<bool> &used) const;
91 
93  (const std::array<float,6> & startingPoint,
94  const std::array<float,3> & searchDirection,
95  std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
96  std::vector<bool> &used) const;
97 
99  (const std::array<float,6> & startingPoint,
100  const std::array<float,3> & searchDirection,
101  std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
102  std::vector<bool> &used) const;
103 
104 
105  void sortDetectorElements();
106 
107  protected:
108 
110  // Protected Data
112 
113  float m_z ; // Z coordinate
114  float m_dz ; // Z half width
115  float m_r ; // Radius
116  float m_dr ; // Radius half width
117  float m_dfe ; // max azimuthal width of de
118  std::vector<SiDetElementLink_xk> m_elements; // detector elements
119 
125  void getDetElements(const std::array<float,6> & startingPoint,
126  const std::array<float,3> & searchDirection,
127  float phiCrossing,
128  float reducedRoadWidth,
129  std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
130  std::vector<bool> &used) const;
131  };
132 
134  // Inline methods
136 
138  {
139  m_z = 0.;
140  m_dz = 0.;
141  m_r = 0.;
142  m_dr = 0.;
143  m_dfe = 0.;
144  }
145 
147  (double r,double dr,double z,double dz,double df)
148  {
149  m_r = float(r );
150  m_dr = float(dr);
151  m_z = float(z );
152  m_dz = float(dz);
153  m_dfe= float(df);
154  }
155 
157  (double r,double dr,double z,double dz,double df)
158  {
159  m_r = float(r );
160  m_dr = float(dr);
161  m_z = float(z );
162  m_dz = float(dz);
163  m_dfe= float(df);
164  }
165 
167  {
168  m_elements.push_back(link);
169  }
170 
172  {
173  return m_elements.size();
174  }
175 
176 
177 } // end of name space
178 
179 #endif // SiDetElementsLayer_xk_H
180 
used
SiDetElementRoadMakerData_xk.h
beamspotman.r
def r
Definition: beamspotman.py:676
InDet::SiDetElementsLayer_xk::getDetElements
void getDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, float phiCrossing, float reducedRoadWidth, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
internal helper which resolves the phi-multiplicity of elements within a layer.
Definition: SiDetElementsLayer_xk.cxx:312
InDet::SiDetElementsLayer_xk::nElements
int nElements() const
Definition: SiDetElementsLayer_xk.h:171
InDet::SiDetElementsLayer_xk::getBarrelDetElements
void getBarrelDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
Get barrel detector elements Input parameters: startPoint[0] - X searchDirection[0] - Ax startPoint[1...
Definition: SiDetElementsLayer_xk.cxx:32
InDet::SiDetElementsLayer_xk::elements
const std::vector< SiDetElementLink_xk > & elements() const
Definition: SiDetElementsLayer_xk.h:58
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::SiDetElementsLayer_xk::m_z
float m_z
Definition: SiDetElementsLayer_xk.h:113
InDet::SiDetElementsLayer_xk::getITkEndcapDetElements
void getITkEndcapDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
Definition: SiDetElementsLayer_xk.cxx:234
InDet::SiDetElementsLayer_xk::~SiDetElementsLayer_xk
~SiDetElementsLayer_xk()=default
InDet::SiDetElementsLayer_xk::dz
const float & dz() const
Definition: SiDetElementsLayer_xk.h:55
python.TurnDataReader.dr
dr
Definition: TurnDataReader.py:112
InDet::SiDetElementsLayer_xk
Definition: SiDetElementsLayer_xk.h:28
InDet::SiDetElementsLayer_xk::add
void add(const SiDetElementLink_xk &)
Definition: SiDetElementsLayer_xk.h:166
InDet::SiDetElementsLayer_xk::getITkBarrelDetElements
void getITkBarrelDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
Definition: SiDetElementsLayer_xk.cxx:95
z
#define z
InDet::SiDetElementsLayer_xk::getEndcapDetElements
void getEndcapDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
Definition: SiDetElementsLayer_xk.cxx:207
InDet::SiDetElementsLayer_xk::sortDetectorElements
void sortDetectorElements()
Definition: SiDetElementsLayer_xk.cxx:402
InDet::SiDetElementsLayer_xk::dfe
const float & dfe() const
Definition: SiDetElementsLayer_xk.h:56
InDet::SiDetElementsLayer_xk::m_dz
float m_dz
Definition: SiDetElementsLayer_xk.h:114
InDet::SiDetElementsLayer_xk::operator=
SiDetElementsLayer_xk & operator=(const SiDetElementsLayer_xk &)=default
InDet::SiDetElementsLayer_xk::r
const float & r() const
Definition: SiDetElementsLayer_xk.h:52
InDet::SiDetElementsLayer_xk::dr
const float & dr() const
Definition: SiDetElementsLayer_xk.h:53
InDet::SiDetElementsLayer_xk::set
void set(double, double, double, double, double)
Definition: SiDetElementsLayer_xk.h:157
InDet::SiDetElementsLayer_xk::SiDetElementsLayer_xk
SiDetElementsLayer_xk(SiDetElementsLayer_xk &&)=default
InDet::SiDetElementsLayer_xk::SiDetElementsLayer_xk
SiDetElementsLayer_xk(const SiDetElementsLayer_xk &)=default
InDet::SiDetElementsLayer_xk::m_dfe
float m_dfe
Definition: SiDetElementsLayer_xk.h:117
InDet::SiDetElementsLayer_xk::z
const float & z() const
Definition: SiDetElementsLayer_xk.h:54
InDet::SiDetElementsLayer_xk::SiDetElementsLayer_xk
SiDetElementsLayer_xk()
Definition: SiDetElementsLayer_xk.h:137
InDet::SiDetElementsLayer_xk::m_elements
std::vector< SiDetElementLink_xk > m_elements
Definition: SiDetElementsLayer_xk.h:118
InDet::SiDetElementsLayer_xk::elements
std::vector< SiDetElementLink_xk > & elements()
Definition: SiDetElementsLayer_xk.h:57
InDet::SiDetElementsLayer_xk::m_dr
float m_dr
Definition: SiDetElementsLayer_xk.h:116
python.TriggerAPI.TriggerAPISession.df
df
Definition: TriggerAPISession.py:432
InDet::SiDetElementsLayer_xk::m_r
float m_r
Definition: SiDetElementsLayer_xk.h:115
readCCLHist.float
float
Definition: readCCLHist.py:83