ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_DetElementsLayer_xk.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// Header file for class TRT_DetElementsLayer_xk
8// (c) ATLAS Detector software
10// Class for detector elements layer
12// Version 1.0 3/10/2004 I.Gavrilenko
14
15#ifndef TRT_DetElementsLayer_xk_H
16#define TRT_DetElementsLayer_xk_H
17
18#include <utility>
19#include <vector>
20#include <list>
21
23
24namespace InDet{
25
26
28 {
30 // Public methods:
32
33 public:
34
36 // Standard tool methods
38
40 TRT_DetElementsLayer_xk(double,double,double,double,double);
45
47 // Main methods
49
50 const float& r () const {return this->m_r ;}
51 const float& dr () const {return this->m_dr ;}
52 const float& z () const {return this->m_z ;}
53 const float& dz () const {return this->m_dz ;}
54 const float& dfe() const {return this->m_dfe;}
55
56 void set(double,double,double,double,double,double,double);
60 int nElements() const;
68 (const float*,
69 const float*,
70 std::vector<std::pair<const InDet::TRT_DetElementLink_xk*,float> >&,
71 std::vector<InDet::TRT_DetElementLink_xk::Used_t> &used) const;
79 (const float*,
80 const float*,
81 std::vector<std::pair<const InDet::TRT_DetElementLink_xk*,float> >&,
82 std::vector<InDet::TRT_DetElementLink_xk::Used_t> &used) const;
90 (const float*,
91 const float*,
92 std::vector<std::pair<const InDet::TRT_DetElementLink_xk*,float> >&,
93 std::vector<InDet::TRT_DetElementLink_xk::Used_t> &used) const;
94
95
96 void reserve(std::size_t n_elements) {
97 m_elements.reserve(n_elements);
98 }
99 protected:
100
102 // Protected Data
104
105 float m_z ; // Z coordinate
106 float m_dz ; // Z half width
107 float m_r ; // Radius
108 float m_dr ; // Radius half width
109 float m_dfe ; // max azimuthal width
110 float m_f0 ; //
111 float m_sfi ; //
112 float m_wf ; // Width in phi direction
113 float m_wz ; // Width in r,z direction
114 std::vector<TRT_DetElementLink_xk> m_elements; // detector elements
115
117 // Methods
119 };
120
122 // Inline methods
124
126 {
127 m_z = 0.;
128 m_dz = 0.;
129 m_r = 0.;
130 m_dr = 0.;
131 m_dfe = 0.;
132 m_f0 = 0.;
133 m_sfi = 0.;
134 m_wf = 0.;
135 m_wz = 0.;
136 }
137
139 (double r,double dr,double z,double dz,double df)
140 {
141 m_r = float(r );
142 m_dr = float(dr);
143 m_z = float(z );
144 m_dz = float(dz);
145 m_dfe = float(df);
146 m_f0 = 0. ;
147 m_sfi = 0. ;
148 m_wf = 0. ;
149 m_wz = 0. ;
150 }
151
153
155 {
156 m_elements.push_back(std::move(link));
157 }
158
160 {
161 return m_elements.size();
162 }
163
164
165} // end of name space
166
167#endif // TRT_DetElementsLayer_xk_H
168
int nElements() const
Get number of links to detector elements.
std::vector< TRT_DetElementLink_xk > m_elements
void getBarrelDetElementsATL(const float *, const float *, std::vector< std::pair< const InDet::TRT_DetElementLink_xk *, float > > &, std::vector< InDet::TRT_DetElementLink_xk::Used_t > &used) const
void getBarrelDetElementsCTB(const float *, const float *, std::vector< std::pair< const InDet::TRT_DetElementLink_xk *, float > > &, std::vector< InDet::TRT_DetElementLink_xk::Used_t > &used) const
void set(double, double, double, double, double, double, double)
TRT_DetElementsLayer_xk & operator=(const TRT_DetElementsLayer_xk &)=default
void getEndcapDetElements(const float *, const float *, std::vector< std::pair< const InDet::TRT_DetElementLink_xk *, float > > &, std::vector< InDet::TRT_DetElementLink_xk::Used_t > &used) const
void add(TRT_DetElementLink_xk &&)
TRT_DetElementsLayer_xk(const TRT_DetElementsLayer_xk &)=default
void reserve(std::size_t n_elements)
holding In fact this class is here in order to allow STL container for all features This class is sho...
Primary Vertex Finder.