ATLAS Offline Software
Loading...
Searching...
No Matches
HECDescriptor Class Reference

LAr HEC Descriptor. More...

#include <CaloDescriptors.h>

Inheritance diagram for HECDescriptor:
Collaboration diagram for HECDescriptor:

Public Member Functions

 HECDescriptor (const Identifier &id, const AtlasDetectorID *helper, const CaloCell_ID *calo_helper, const HECDetectorRegion *hecRegion, const GeoAlignmentStore *alignStore=nullptr)
 Constructor.
virtual ~HECDescriptor ()
 Destructor.
virtual void print () const
 print the contents
void dump (std::ostream &os) const
 dump contents to a stream.
void set_n_calo_depth (int n_calo_depth)
 set number of calo depths
void set_depth_in (std::vector< double > &calo_depth)
 set vector of in depths
void set_depth_out (std::vector< double > &calo_depth)
 set vector of out depths
bool is_lar_em () const
 descriptor belongs to EM calorimeter
bool is_lar_em_barrel () const
 descriptor belongs to EM barrel
bool is_lar_em_endcap () const
 descriptor belongs to EM end cap
bool is_lar_em_endcap_inner () const
 descriptor belongs to the inner wheel of EM end cap
bool is_lar_em_endcap_outer () const
 descriptor belongs to the outer wheel of EM end cap
bool is_lar_hec () const
 descriptor belongs to HEC
bool is_lar_fcal () const
 descriptor belongs to FCAL
bool is_tile () const
 descriptor belongs to Tile
CaloCell_ID::CaloSample getSampling (IdentifierHash onecalo_hash) const
 get sampling
CaloCell_ID::CaloSample getSampling () const
 get sampling returns the cached CaloSample, if the descriptor contains more than one sampling, it only returns the first sampling.
CaloCell_ID::SUBCALO getSubCalo () const
 get subcalo
Identifier identify () const override final
 get region identifier
IdentifierHash identifyHash () const override final
 get hash identifier for the region
IdentifierHash calo_hash () const
 get calo hash
IdentifierHash subcalo_hash () const
 get subcalo hash
const CaloCell_Base_IDget_calo_helper () const
 get Calo Cell ID helper
int layer () const
 get layer
IdentifierHash caloCellMin () const
 minimal hash identifier for calo cells in the region
int calo_sign () const
 'ideal' geometry: calo sign
double calo_z_min () const
 'ideal' geometry: z minimal
double calo_z_max () const
 'ideal' geometry: z maximal
double calo_eta_min () const
 'ideal' geometry: eta minimal
double calo_eta_max () const
 'ideal' geometry: eta maximal
double calo_phi_min () const
 'ideal' geometry: phi minimal
double calo_phi_max () const
 'ideal' geometry: phi maximal
double calo_r_min () const
 'ideal' geometry: r minimal
double calo_r_max () const
 'ideal' geometry: r maximal
int n_calo_depth () const
 number of calo depths
void get_depth_in (std::vector< double > &calo_depth) const
 get vector of in depths
void get_depth_out (std::vector< double > &calo_depth) const
 get vector of out depths
double deta () const
 delta eta
double dphi () const
 delta phi
int n_eta () const
 eta granularity
int n_phi () const
 phi granularity
bool get_cylinder_surface (Amg::Transform3D &htrans, double &radius, double &hphi, double &hlength, double &depth) const
 this will be the closest radius of this region
bool get_disk_surface (Amg::Transform3D &htrans, double &z, double &rmin, double &rmax, double &hphisec, double &depth) const
 (for Trk::Surface)
bool is_in (double eta_min, double eta_max, double phi_min, double phi_max) const
 check overlap with a given zone in eta and phi (for LAr only)
int eta_channel (double eta) const
 channel number for a given eta/phi (if outside returns -1).
int phi_channel (double phi) const
 channel number for a given eta/phi (if outside returns -1) Should not be used for FCAL
int eta_channel_raw (double eta) const
 channel number for a given eta/phi raw (if outside returns -1).
int phi_channel_raw (double phi) const
 channel number for a given eta/phi raw (if outside returns -1) Should not be used for FCAL
double reg_min () const
 eta min and max once misaligned
double reg_max () const
 eta min and max once misaligned
double lar_eta_min () const
 minimal Eta for LAr region
double lar_phi_min () const
 minimal Phi for LAr region
void setCaloEtaMin (double eta_min)
 Set Eta Min.
void setCaloEtaMax (double eta_max)
 Set Eta Max.
void setCaloPhiMin (double phi_min)
 Set Phi Min.
void setCaloPhiMax (double phi_max)
 Set Phi Max.
void setCaloZMin (double z_min)
 Set Z Min.
void setCaloZMax (double z_max)
 Set Z Max.
void setCaloRMin (double r_min)
 Set R Min.
void setCaloRMax (double r_max)
 Set R Max.
void setLArRegMin (double reg_min)
 Set LAr Region Eta Min.
void setLArRegMax (double reg_max)
 Set LAr Region Eta Max.
void setLArPhiMin (double phi_min)
 Set LAr Region Phi Min.
void setLArEtaMin (double eta_min)
 Set LAr Region Phi Max.
void set_eta_phi_granularity (int neta, double deta, int nphi, double dphi)
 Set Phi granularity.
const Amg::Transform3Dtransform () const
 Get the current transformation matrix.
void set_transform (const Amg::Transform3D &transform)
 Set the transformation matrix.
virtual const IdHelpergetHelper () const

Protected Attributes

double m_calo_eta_min
 minimal Eta (to be defined in the derived classes)
double m_calo_eta_max
 maximal Eta (to be defined in the derived classes)
double m_calo_phi_min
 minimal Phi (to be defined in the derived classes)
double m_calo_phi_max
 maximal Phi (to be defined in the derived classes)
double m_calo_r_min
 minimal R (to be defined in the derived classes)
double m_calo_r_max
 maximal R (to be defined in the derived classes)
double m_calo_z_min
 minimal Z (to be defined in the derived classes)
double m_calo_z_max
 maximal Z (to be defined in the derived classes)
int m_n_calo_depth
 number of depths
std::vector< double > m_calo_depth_in
 in depths
std::vector< double > m_calo_depth_out
 out depths
Amg::Transform3D m_transform
 misalignment transformation
double m_lar_reg_min
 minimal Abs Eta for LAr region
double m_lar_reg_max
 maximal Abs Eta for LAr region
double m_lar_phi_min
 minimal Phi for LAr region
double m_lar_eta_min
 minimal Eta for LAr region
int m_etachan_min
 minimal Eta channel number

Private Member Functions

 HECDescriptor ()=delete
 default constructor hidden
HECDescriptoroperator= (const HECDescriptor &right)=delete
 copy constructor hidden

Private Attributes

const AtlasDetectorIDm_helper
 Atlas Detector ID helper.
const CaloCell_Base_IDm_calo_helper
 Calo Cell ID helper.
Identifier m_id
 Region identifier.
bool m_is_lar_em
 descriptor belongs to EM calorimeter
bool m_is_lar_em_barrel
 descriptor belongs to EM barrel
bool m_is_lar_em_endcap
 descriptor belongs to EM end cap
bool m_is_lar_em_endcap_inner
 descriptor belongs to the inner wheel of EM end cap
bool m_is_lar_em_endcap_outer
 descriptor belongs to the outer wheel of EM end cap
bool m_is_lar_hec
 descriptor belongs to HEC
bool m_is_lar_fcal
 descriptor belongs to FCAL
bool m_is_tile
 descriptor belongs to Tile
int m_calo_sign
 calo sign
int m_layer
 layer
CaloCell_ID::CaloSample m_calo_sampl
 Calo Sample.
CaloCell_ID::SUBCALO m_calo_num
 Subcalo.
IdentifierHash m_calocell_min
 minimal hash id of region cells
double m_lar_deta
 delta eta (LAr)
double m_lar_dphi
 delta phi (LAr)
int m_lar_n_eta
 eta granularity (LAr)
int m_lar_n_phi
 phi granularity (LAr)

Detailed Description

LAr HEC Descriptor.

Definition at line 109 of file CaloDescriptors.h.

Constructor & Destructor Documentation

◆ HECDescriptor() [1/2]

HECDescriptor::HECDescriptor ( const Identifier & id,
const AtlasDetectorID * helper,
const CaloCell_ID * calo_helper,
const HECDetectorRegion * hecRegion,
const GeoAlignmentStore * alignStore = nullptr )

Constructor.

Parameters
id[IN] region identifier (for base class constructor)
helper[IN] ID helper (for base class constructor)
calo_helper[IN] ID helper (for base class constructor)
hecRegion[IN] HEC Region Descriptor from LArReadoutGeometry

Definition at line 62 of file CaloDescriptors.cxx.

67 : CaloDetDescriptor(id,helper,calo_helper)
68{
69 // -- m_transform
70 const Amg::Transform3D &xfDef = hecRegion->getDefAbsoluteTransform(alignStore);
71 // we need to apply the famous ZShift
72 Amg::Transform3D xfNominal;
73 if(hecRegion->getEndcapIndex()==0) {
74 xfNominal = Amg::Translation3D(Amg::Vector3D(0.,0.,hecRegion->getProjectivityDisplacement()*Gaudi::Units::cm))*xfDef; // Negative HEC
75 }
76 else {
77 xfNominal = Amg::Translation3D(Amg::Vector3D(0.,0.,-hecRegion->getProjectivityDisplacement()*Gaudi::Units::cm))*xfDef; // Positive HEC
78 }
79 const Amg::Transform3D &xfAbs = hecRegion->getAbsoluteTransform(alignStore);
80
81 m_transform = xfAbs*xfNominal.inverse();
82}
CaloDetDescriptor(const Identifier &id, const AtlasDetectorID *helper, const CaloCell_Base_ID *calo_helper, CaloCell_ID::CaloSample sample=CaloCell_ID::Unknown, int layer=CaloCell_ID::NOT_VALID)
Constructor.
Amg::Transform3D m_transform
misalignment transformation
const Amg::Transform3D & getDefAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
const Amg::Transform3D & getAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
double getProjectivityDisplacement() const
HECDetectorRegion::DetectorSide getEndcapIndex() const
The endcap index.
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Eigen::Translation< double, 3 > Translation3D

◆ ~HECDescriptor()

HECDescriptor::~HECDescriptor ( )
virtualdefault

Destructor.

◆ HECDescriptor() [2/2]

HECDescriptor::HECDescriptor ( )
privatedelete

default constructor hidden

Member Function Documentation

◆ calo_eta_max()

double CaloDetDescriptor::calo_eta_max ( ) const
inlineinherited

'ideal' geometry: eta maximal

Definition at line 563 of file CaloDetDescriptor.h.

564{
565 return m_calo_eta_max;
566}
double m_calo_eta_max
maximal Eta (to be defined in the derived classes)

◆ calo_eta_min()

double CaloDetDescriptor::calo_eta_min ( ) const
inlineinherited

'ideal' geometry: eta minimal

Definition at line 558 of file CaloDetDescriptor.h.

559{
560 return m_calo_eta_min;
561}
double m_calo_eta_min
minimal Eta (to be defined in the derived classes)

◆ calo_hash()

IdentifierHash CaloDetDescriptor::calo_hash ( ) const
inlineinherited

get calo hash

Definition at line 512 of file CaloDetDescriptor.h.

513{
514 return m_calo_helper->calo_region_hash(m_id);
515}
const CaloCell_Base_ID * m_calo_helper
Calo Cell ID helper.
Identifier m_id
Region identifier.

◆ calo_phi_max()

double CaloDetDescriptor::calo_phi_max ( ) const
inlineinherited

'ideal' geometry: phi maximal

Definition at line 573 of file CaloDetDescriptor.h.

574{
575 return m_calo_phi_max;
576}
double m_calo_phi_max
maximal Phi (to be defined in the derived classes)

◆ calo_phi_min()

double CaloDetDescriptor::calo_phi_min ( ) const
inlineinherited

'ideal' geometry: phi minimal

Definition at line 568 of file CaloDetDescriptor.h.

569{
570 return m_calo_phi_min;
571}
double m_calo_phi_min
minimal Phi (to be defined in the derived classes)

◆ calo_r_max()

double CaloDetDescriptor::calo_r_max ( ) const
inlineinherited

'ideal' geometry: r maximal

Definition at line 583 of file CaloDetDescriptor.h.

584{
585 return m_calo_r_max;
586}
double m_calo_r_max
maximal R (to be defined in the derived classes)

◆ calo_r_min()

double CaloDetDescriptor::calo_r_min ( ) const
inlineinherited

'ideal' geometry: r minimal

Definition at line 578 of file CaloDetDescriptor.h.

579{
580 return m_calo_r_min;
581}
double m_calo_r_min
minimal R (to be defined in the derived classes)

◆ calo_sign()

int CaloDetDescriptor::calo_sign ( ) const
inlineinherited

'ideal' geometry: calo sign

Definition at line 543 of file CaloDetDescriptor.h.

544{
545 return m_calo_sign;
546}

◆ calo_z_max()

double CaloDetDescriptor::calo_z_max ( ) const
inlineinherited

'ideal' geometry: z maximal

Definition at line 553 of file CaloDetDescriptor.h.

554{
555 return m_calo_z_max;
556}
double m_calo_z_max
maximal Z (to be defined in the derived classes)

◆ calo_z_min()

double CaloDetDescriptor::calo_z_min ( ) const
inlineinherited

'ideal' geometry: z minimal

Definition at line 548 of file CaloDetDescriptor.h.

549{
550 return m_calo_z_min;
551}
double m_calo_z_min
minimal Z (to be defined in the derived classes)

◆ caloCellMin()

IdentifierHash CaloDetDescriptor::caloCellMin ( ) const
inlineinherited

minimal hash identifier for calo cells in the region

Definition at line 538 of file CaloDetDescriptor.h.

539{
540 return m_calocell_min;
541}
IdentifierHash m_calocell_min
minimal hash id of region cells

◆ deta()

double CaloDetDescriptor::deta ( ) const
inlineinherited

delta eta

Definition at line 588 of file CaloDetDescriptor.h.

589{
590 return m_lar_deta;
591}
double m_lar_deta
delta eta (LAr)

◆ dphi()

double CaloDetDescriptor::dphi ( ) const
inlineinherited

delta phi

Definition at line 593 of file CaloDetDescriptor.h.

594{
595 return m_lar_dphi;
596}
double m_lar_dphi
delta phi (LAr)

◆ dump()

void CaloDetDescriptor::dump ( std::ostream & os) const
inherited

dump contents to a stream.

Definition at line 116 of file CaloDetDescriptor.cxx.

117{
118 os << " CaloDetDescriptor print: \n\n";
119
120 os << m_calo_helper->print_to_string(m_id);
121
122 if(m_calo_helper->is_em_endcap(m_id))
123 os << " LAr EM ENDCAP: " << (int) m_calo_sampl << " " << (int) m_calo_num << "\n";
124 else if(m_calo_helper->is_em_barrel(m_id))
125 os << " LAr EM BARREL: " << (int) m_calo_sampl << " " << (int) m_calo_num << "\n";
126 else if(m_calo_helper->is_lar_hec(m_id))
127 os << " LAr HEC: " << (int) m_calo_sampl << " " << (int) m_calo_num << "\n";
128 else if(m_calo_helper->is_lar_fcal(m_id))
129 os << " LAr Fcal: " << (int) m_calo_sampl << " " << (int) m_calo_num << "\n";
130 else
131 {
132 if(!m_is_tile) os << " UNKNOW LAr decriptor !!!! \n";
133 }
134
135 os << "Ideal values before alignment :\n";
136 os << " eta_min eta_max deta n_eta phi_min phi_max dphi n_phi \n";
137 os << std::setw(9) << std::setprecision(4) << calo_eta_min() << " "
138 << std::setw(9) << std::setw(9) << std::setprecision(4) << calo_eta_max() << " "
139 << std::setw(9) << std::setprecision(4) << deta() << " "
140 << std::setw(9) << std::setprecision(4) << n_eta() << " "
141 << std::setw(9) << std::setprecision(4) << calo_phi_min() << " "
142 << std::setw(9) << std::setprecision(4) << calo_phi_max() << " "
143 << std::setw(9) << std::setprecision(4) << dphi() << " "
144 << std::setw(9) << std::setprecision(4) << n_phi() << "\n";
145
146 os << " r_min z_min r_max z_max sign\n";
147
148 os << std::setprecision(4) << calo_r_min() << " "
149 << std::setprecision(4) << calo_r_max() << " "
150 << std::setprecision(4) << calo_z_min() << " "
151 << std::setprecision(4) << calo_z_max() << " "
152 << std::setprecision(1) << calo_sign() << "\n";
153
154 Amg::RotationMatrix3D rot= m_transform.rotation ();
155
156 //calculate euler angles
157 double theta1, psi1, phi1;
158 if (std::abs(std::abs(rot(2,1))-1.0f) > 0.00001)
159 {
160 theta1 = -std::asin(rot(2,0));
161 psi1 = std::atan2(rot(2,1)/std::cos(theta1), rot(2,2)/std::cos(theta1));
162 phi1 = std::atan2(rot(1,0)/std::cos(theta1), rot(0,0)/std::cos(theta1));
163 } else {
164 phi1 = 0;
165 if(rot(2,0) == -1){
166 theta1 = M_PI*0.5;
167 psi1 = std::atan2(rot(0,1),rot(0,2));
168 } else {
169 theta1 = -(M_PI * 0.5);
170 psi1 = std::atan2(-rot(0,1), -rot(0,2));
171 }
172 }
173
174 os << "\nEigenTransform phi,theta,psi,x,y,z: "
175 << phi1 << " " << theta1 << " "
176 << psi1 << " " << m_transform(0,3) << " "
177 << m_transform(1,3) << " " << m_transform(2,3) << "\n\n";
178
179 os << std::setprecision(4) << "in real world (can be <0)"
180 << m_lar_reg_min << " " << m_lar_reg_max << " "
181 << m_lar_phi_min << " " << m_lar_eta_min << "\n\n";
182}
#define M_PI
double calo_phi_max() const
'ideal' geometry: phi maximal
double m_lar_eta_min
minimal Eta for LAr region
double deta() const
delta eta
int n_phi() const
phi granularity
double calo_eta_min() const
'ideal' geometry: eta minimal
double dphi() const
delta phi
double calo_z_min() const
'ideal' geometry: z minimal
double calo_z_max() const
'ideal' geometry: z maximal
double m_lar_phi_min
minimal Phi for LAr region
double calo_r_min() const
'ideal' geometry: r minimal
double m_lar_reg_max
maximal Abs Eta for LAr region
double calo_r_max() const
'ideal' geometry: r maximal
CaloCell_ID::CaloSample m_calo_sampl
Calo Sample.
CaloCell_ID::SUBCALO m_calo_num
Subcalo.
double calo_eta_max() const
'ideal' geometry: eta maximal
bool m_is_tile
descriptor belongs to Tile
double calo_phi_min() const
'ideal' geometry: phi minimal
int calo_sign() const
'ideal' geometry: calo sign
int n_eta() const
eta granularity
double m_lar_reg_min
minimal Abs Eta for LAr region
Eigen::Matrix< double, 3, 3 > RotationMatrix3D

◆ eta_channel()

int CaloDetDescriptor::eta_channel ( double eta) const
inherited

channel number for a given eta/phi (if outside returns -1).

Should not be used for FCAL

Definition at line 260 of file CaloDetDescriptor.cxx.

261{
262 int result = -1;
263 // if(m_calo_sign*eta<0) return result;
265
266
267 if(std::abs(eta) + 0.00001 >= m_lar_eta_min)
268 result = (int)((std::abs(eta) - m_lar_eta_min)/m_lar_deta) + m_etachan_min;
269
271
272 return result;
273}
Scalar eta() const
pseudorapidity method
int m_lar_n_eta
eta granularity (LAr)
int m_etachan_min
minimal Eta channel number

◆ eta_channel_raw()

int CaloDetDescriptor::eta_channel_raw ( double eta) const
inherited

channel number for a given eta/phi raw (if outside returns -1).

Should not be used for FCAL

Definition at line 290 of file CaloDetDescriptor.cxx.

291{
292 int result = -1;
295
296
297 if(std::abs(eta) + 0.00001 >= m_calo_eta_min)
298 result = (int)((std::abs(eta) - m_calo_eta_min)/m_lar_deta);
299
300 if(result>=(m_lar_n_eta+m_etachan_min)) result = m_lar_n_eta -1;
301
302 return result;
303}

◆ get_calo_helper()

const CaloCell_Base_ID * CaloDetDescriptor::get_calo_helper ( ) const
inlineinherited

get Calo Cell ID helper

Definition at line 523 of file CaloDetDescriptor.h.

524{
525 return m_calo_helper;
526}

◆ get_cylinder_surface()

bool CaloDetDescriptor::get_cylinder_surface ( Amg::Transform3D & htrans,
double & radius,
double & hphi,
double & hlength,
double & depth ) const
inherited

this will be the closest radius of this region

this will be the closest radius of this region (for Trk::Surface)

Definition at line 199 of file CaloDetDescriptor.cxx.

204{
205 // For cylinders : htrans is the displacement compared to a cylinder centered along the
206 // z axis
207
208 htrans = m_transform;
210 hlength = m_calo_z_max;
211 hphi = 0.5*m_lar_dphi*m_lar_n_phi;
213
214 if (m_is_tile)
215 {
216 // need to shift tile cylinders (half-barrels, ext.barrels and ITC)
217 hlength = m_calo_z_max-m_calo_z_min;
218 double z = m_calo_sign*(m_calo_z_min + m_calo_z_max)/2.;
220 htrans = (htrans) * vec;
221 }
222
223 return true;
224}
std::vector< size_t > vec
#define z
int m_lar_n_phi
phi granularity (LAr)
std::string depth
tag string for intendation
Definition fastadd.cxx:46

◆ get_depth_in()

void CaloDetDescriptor::get_depth_in ( std::vector< double > & calo_depth) const
inherited

get vector of in depths

Parameters
calo_depth[OUT] vector of in depths

Definition at line 325 of file CaloDetDescriptor.cxx.

326{
327 calo_depth.resize(m_n_calo_depth);
328 for (int i=0; i<m_n_calo_depth; i++)
329 calo_depth [i] = m_calo_depth_in[i];
330}
std::vector< double > m_calo_depth_in
in depths
int m_n_calo_depth
number of depths

◆ get_depth_out()

void CaloDetDescriptor::get_depth_out ( std::vector< double > & calo_depth) const
inherited

get vector of out depths

Parameters
calo_depth[OUT] vector of out depths

Definition at line 332 of file CaloDetDescriptor.cxx.

333{
334 calo_depth.resize(m_n_calo_depth);
335 for (int i=0; i<m_n_calo_depth; i++)
336 calo_depth [i] = m_calo_depth_out[i];
337}
std::vector< double > m_calo_depth_out
out depths

◆ get_disk_surface()

bool CaloDetDescriptor::get_disk_surface ( Amg::Transform3D & htrans,
double & z,
double & rmin,
double & rmax,
double & hphisec,
double & depth ) const
inherited

(for Trk::Surface)

Definition at line 226 of file CaloDetDescriptor.cxx.

232{
233 // For disks : htrans is the position of the entrance surface, i.e. the alignment
234 // heptransform + a z shift to put the entrance at the right z.
235
236 htrans = m_transform;
239
240 Amg::Translation3D vec(0.,0.,z);
241 htrans = (htrans) * vec;
242
243 rmin = m_calo_r_min;
244 rmax = m_calo_r_max;
245 hphisec = 0.5*m_lar_dphi*m_lar_n_phi;
246
247 return true;
248}

◆ getHelper()

const IdHelper * Identifiable::getHelper ( ) const
virtualinherited

Definition at line 18 of file Identifiable.cxx.

18 {
19 return (nullptr);
20}

◆ getSampling() [1/2]

CaloCell_ID::CaloSample CaloDetDescriptor::getSampling ( ) const
inlineinherited

get sampling returns the cached CaloSample, if the descriptor contains more than one sampling, it only returns the first sampling.

Definition at line 134 of file CaloDetDescriptor.h.

135 { return m_calo_sampl ;
136 }

◆ getSampling() [2/2]

CaloCell_ID::CaloSample CaloDetDescriptor::getSampling ( IdentifierHash onecalo_hash) const
inherited

get sampling

Parameters
onecalo_hash[IN] hash identifier if the descriptor contains more than one sampling, add offset calculated from hash id.

Definition at line 185 of file CaloDetDescriptor.cxx.

186{
188 {
189 const Tile_Base_ID* tileid = reinterpret_cast<const Tile_Base_ID*> (m_helper);
190 Identifier id = tileid->cell_id (onecalo_hash);
191 return (CaloCell_ID::CaloSample) (m_calo_sampl + tileid->sample(id));
192 }
193 else
194 {
195 return m_calo_sampl;
196 }
197}
CaloSampling::CaloSample CaloSample
Definition CaloCell_ID.h:53
const AtlasDetectorID * m_helper
Atlas Detector ID helper.
int sample(const Identifier &id) const
Identifier cell_id(const Identifier &any_id) const

◆ getSubCalo()

CaloCell_Base_ID::SUBCALO CaloDetDescriptor::getSubCalo ( ) const
inlineinherited

get subcalo

Definition at line 533 of file CaloDetDescriptor.h.

534{
535 return m_calo_num;
536}

◆ identify()

Identifier CaloDetDescriptor::identify ( ) const
inlinefinaloverridevirtualinherited

get region identifier

Implements Identifiable.

Definition at line 501 of file CaloDetDescriptor.h.

502{
503 return m_id;
504}

◆ identifyHash()

IdentifierHash CaloDetDescriptor::identifyHash ( ) const
inlinefinaloverridevirtualinherited

get hash identifier for the region

Reimplemented from Identifiable.

Definition at line 506 of file CaloDetDescriptor.h.

507{
508 int num;
509 return m_calo_helper->subcalo_region_hash(m_id, num);
510}

◆ is_in()

bool CaloDetDescriptor::is_in ( double eta_min,
double eta_max,
double phi_min,
double phi_max ) const
inherited

check overlap with a given zone in eta and phi (for LAr only)

Parameters
eta_min[IN] lower eta boundary of the zone
eta_max[IN] higher eta boundary of the zone
phi_min[IN] lower phi boundary of the zone
phi_max[IN] higher phi boundary of the zone

Definition at line 250 of file CaloDetDescriptor.cxx.

254{
255 bool result = (eta_min + 0.00001 <= m_lar_reg_max &&
256 eta_max >= m_lar_reg_min + 0.00001);
257 return result;
258}

◆ is_lar_em()

bool CaloDetDescriptor::is_lar_em ( ) const
inlineinherited

descriptor belongs to EM calorimeter

Definition at line 461 of file CaloDetDescriptor.h.

462{
463 return m_is_lar_em;
464}
bool m_is_lar_em
descriptor belongs to EM calorimeter

◆ is_lar_em_barrel()

bool CaloDetDescriptor::is_lar_em_barrel ( ) const
inlineinherited

descriptor belongs to EM barrel

Definition at line 466 of file CaloDetDescriptor.h.

467{
468 return m_is_lar_em_barrel;
469}
bool m_is_lar_em_barrel
descriptor belongs to EM barrel

◆ is_lar_em_endcap()

bool CaloDetDescriptor::is_lar_em_endcap ( ) const
inlineinherited

descriptor belongs to EM end cap

Definition at line 471 of file CaloDetDescriptor.h.

472{
473 return m_is_lar_em_endcap;
474}
bool m_is_lar_em_endcap
descriptor belongs to EM end cap

◆ is_lar_em_endcap_inner()

bool CaloDetDescriptor::is_lar_em_endcap_inner ( ) const
inlineinherited

descriptor belongs to the inner wheel of EM end cap

Definition at line 476 of file CaloDetDescriptor.h.

477{
479}
bool m_is_lar_em_endcap_inner
descriptor belongs to the inner wheel of EM end cap

◆ is_lar_em_endcap_outer()

bool CaloDetDescriptor::is_lar_em_endcap_outer ( ) const
inlineinherited

descriptor belongs to the outer wheel of EM end cap

Definition at line 481 of file CaloDetDescriptor.h.

482{
484}
bool m_is_lar_em_endcap_outer
descriptor belongs to the outer wheel of EM end cap

◆ is_lar_fcal()

bool CaloDetDescriptor::is_lar_fcal ( ) const
inlineinherited

descriptor belongs to FCAL

Definition at line 491 of file CaloDetDescriptor.h.

492{
493 return m_is_lar_fcal;
494}
bool m_is_lar_fcal
descriptor belongs to FCAL

◆ is_lar_hec()

bool CaloDetDescriptor::is_lar_hec ( ) const
inlineinherited

descriptor belongs to HEC

Definition at line 486 of file CaloDetDescriptor.h.

487{
488 return m_is_lar_hec;
489}
bool m_is_lar_hec
descriptor belongs to HEC

◆ is_tile()

bool CaloDetDescriptor::is_tile ( ) const
inlineinherited

descriptor belongs to Tile

Definition at line 496 of file CaloDetDescriptor.h.

497{
498 return m_is_tile;
499}

◆ lar_eta_min()

double CaloDetDescriptor::lar_eta_min ( ) const
inlineinherited

minimal Eta for LAr region

Definition at line 618 of file CaloDetDescriptor.h.

619{
620 return m_lar_eta_min;
621}

◆ lar_phi_min()

double CaloDetDescriptor::lar_phi_min ( ) const
inlineinherited

minimal Phi for LAr region

Definition at line 623 of file CaloDetDescriptor.h.

624{
625 return m_lar_phi_min;
626}

◆ layer()

int CaloDetDescriptor::layer ( ) const
inlineinherited

get layer

Definition at line 528 of file CaloDetDescriptor.h.

529{
530 return m_layer;
531}

◆ n_calo_depth()

int CaloDetDescriptor::n_calo_depth ( ) const
inherited

number of calo depths

Definition at line 322 of file CaloDetDescriptor.cxx.

323{ return m_n_calo_depth; }

◆ n_eta()

int CaloDetDescriptor::n_eta ( ) const
inlineinherited

eta granularity

Definition at line 598 of file CaloDetDescriptor.h.

599{
600 return m_lar_n_eta;
601}

◆ n_phi()

int CaloDetDescriptor::n_phi ( ) const
inlineinherited

phi granularity

Definition at line 603 of file CaloDetDescriptor.h.

604{
605 return m_lar_n_phi;
606}

◆ operator=()

HECDescriptor & HECDescriptor::operator= ( const HECDescriptor & right)
privatedelete

copy constructor hidden

◆ phi_channel()

int CaloDetDescriptor::phi_channel ( double phi) const
inherited

channel number for a given eta/phi (if outside returns -1) Should not be used for FCAL

Definition at line 275 of file CaloDetDescriptor.cxx.

276{
277 double phi_fixed = phi ;
278
279 // -M_PI,M_PI convention :
280 if (phi <= m_lar_phi_min)
281 phi_fixed = phi_fixed + 2.0*M_PI;
282
283 int chan = (int)((phi_fixed - m_lar_phi_min)/m_lar_dphi) + m_calo_helper->phi_min(m_id);
284
285 if(chan >= m_lar_n_phi + m_calo_helper->phi_min(m_id)) chan = -1;
286
287 return chan;
288}
Scalar phi() const
phi method

◆ phi_channel_raw()

int CaloDetDescriptor::phi_channel_raw ( double phi) const
inherited

channel number for a given eta/phi raw (if outside returns -1) Should not be used for FCAL

Definition at line 305 of file CaloDetDescriptor.cxx.

306{
307 double phi_fixed = phi ;
308
309 // -M_PI,M_PI convention :
310 if (phi <= m_calo_phi_min)
311 phi_fixed = phi_fixed + 2.0*M_PI;
312
313 int chan = (int)((phi_fixed - m_calo_phi_min)/m_lar_dphi) + m_calo_helper->phi_min(m_id);
314
315 if(chan >= m_lar_n_phi + m_calo_helper->phi_min(m_id)) chan = -1;
316
317 return chan;
318}

◆ print()

void CaloDetDescriptor::print ( ) const
virtualinherited

print the contents

Definition at line 111 of file CaloDetDescriptor.cxx.

112{
113 dump(std::cout);
114}
void dump(std::ostream &os) const
dump contents to a stream.

◆ reg_max()

double CaloDetDescriptor::reg_max ( ) const
inlineinherited

eta min and max once misaligned

Definition at line 613 of file CaloDetDescriptor.h.

614{
615 return m_lar_reg_max;
616}

◆ reg_min()

double CaloDetDescriptor::reg_min ( ) const
inlineinherited

eta min and max once misaligned

Definition at line 608 of file CaloDetDescriptor.h.

609{
610 return m_lar_reg_min;
611}

◆ set_depth_in()

void CaloDetDescriptor::set_depth_in ( std::vector< double > & calo_depth)
inherited

set vector of in depths

Parameters
calo_depth[IN] vector of in depths

Definition at line 347 of file CaloDetDescriptor.cxx.

348{
349 for (int i=0; i<m_n_calo_depth; i++)
350 m_calo_depth_in[i] = calo_depth[i];
351}

◆ set_depth_out()

void CaloDetDescriptor::set_depth_out ( std::vector< double > & calo_depth)
inherited

set vector of out depths

Parameters
calo_depth[IN] vector of out depths

Definition at line 353 of file CaloDetDescriptor.cxx.

354{
355 for (int i=0; i<m_n_calo_depth; i++)
356 m_calo_depth_out[i] = calo_depth[i];
357}

◆ set_eta_phi_granularity()

void CaloDetDescriptor::set_eta_phi_granularity ( int neta,
double deta,
int nphi,
double dphi )
inherited

Set Phi granularity.

Definition at line 359 of file CaloDetDescriptor.cxx.

363{
366 m_lar_n_eta = neta;
367 m_lar_n_phi = nphi;
368}

◆ set_n_calo_depth()

void CaloDetDescriptor::set_n_calo_depth ( int n_calo_depth)
inherited

set number of calo depths

Parameters
n_calo_depth[IN} number of depths

Definition at line 340 of file CaloDetDescriptor.cxx.

341{
345}
int n_calo_depth() const
number of calo depths

◆ set_transform()

void CaloDetDescriptor::set_transform ( const Amg::Transform3D & transform)
inlineinherited

Set the transformation matrix.

Definition at line 696 of file CaloDetDescriptor.h.

697{
699}
const Amg::Transform3D & transform() const
Get the current transformation matrix.

◆ setCaloEtaMax()

void CaloDetDescriptor::setCaloEtaMax ( double eta_max)
inlineinherited

Set Eta Max.

Definition at line 633 of file CaloDetDescriptor.h.

634{
635 m_calo_eta_max = eta_max;
636}

◆ setCaloEtaMin()

void CaloDetDescriptor::setCaloEtaMin ( double eta_min)
inlineinherited

Set Eta Min.

Definition at line 628 of file CaloDetDescriptor.h.

629{
630 m_calo_eta_min = eta_min;
631}

◆ setCaloPhiMax()

void CaloDetDescriptor::setCaloPhiMax ( double phi_max)
inlineinherited

Set Phi Max.

Definition at line 643 of file CaloDetDescriptor.h.

644{
645 m_calo_phi_max = phi_max;
646}

◆ setCaloPhiMin()

void CaloDetDescriptor::setCaloPhiMin ( double phi_min)
inlineinherited

Set Phi Min.

Definition at line 638 of file CaloDetDescriptor.h.

639{
640 m_calo_phi_min = phi_min;
641}

◆ setCaloRMax()

void CaloDetDescriptor::setCaloRMax ( double r_max)
inlineinherited

Set R Max.

Definition at line 663 of file CaloDetDescriptor.h.

664{
665 m_calo_r_max = r_max;
666}

◆ setCaloRMin()

void CaloDetDescriptor::setCaloRMin ( double r_min)
inlineinherited

Set R Min.

Definition at line 658 of file CaloDetDescriptor.h.

659{
660 m_calo_r_min = r_min;
661}

◆ setCaloZMax()

void CaloDetDescriptor::setCaloZMax ( double z_max)
inlineinherited

Set Z Max.

Definition at line 653 of file CaloDetDescriptor.h.

654{
655 m_calo_z_max = z_max;
656}

◆ setCaloZMin()

void CaloDetDescriptor::setCaloZMin ( double z_min)
inlineinherited

Set Z Min.

Definition at line 648 of file CaloDetDescriptor.h.

649{
650 m_calo_z_min = z_min;
651}

◆ setLArEtaMin()

void CaloDetDescriptor::setLArEtaMin ( double eta_min)
inlineinherited

Set LAr Region Phi Max.

Definition at line 683 of file CaloDetDescriptor.h.

684{
685 m_lar_eta_min = eta_min;
686}

◆ setLArPhiMin()

void CaloDetDescriptor::setLArPhiMin ( double phi_min)
inlineinherited

Set LAr Region Phi Min.

Definition at line 678 of file CaloDetDescriptor.h.

679{
680 m_lar_phi_min = phi_min;
681}

◆ setLArRegMax()

void CaloDetDescriptor::setLArRegMax ( double reg_max)
inlineinherited

Set LAr Region Eta Max.

Definition at line 673 of file CaloDetDescriptor.h.

674{
676}
double reg_max() const
eta min and max once misaligned

◆ setLArRegMin()

void CaloDetDescriptor::setLArRegMin ( double reg_min)
inlineinherited

Set LAr Region Eta Min.

Definition at line 668 of file CaloDetDescriptor.h.

669{
671}
double reg_min() const
eta min and max once misaligned

◆ subcalo_hash()

IdentifierHash CaloDetDescriptor::subcalo_hash ( ) const
inlineinherited

get subcalo hash

Definition at line 517 of file CaloDetDescriptor.h.

518{
519 int num;
520 return m_calo_helper->subcalo_region_hash(m_id, num);
521}

◆ transform()

const Amg::Transform3D & CaloDetDescriptor::transform ( ) const
inlineinherited

Get the current transformation matrix.

Definition at line 689 of file CaloDetDescriptor.h.

690{
691 return m_transform;
692}

Member Data Documentation

◆ m_calo_depth_in

std::vector<double> CaloDetDescriptor::m_calo_depth_in
protectedinherited

in depths

Definition at line 435 of file CaloDetDescriptor.h.

◆ m_calo_depth_out

std::vector<double> CaloDetDescriptor::m_calo_depth_out
protectedinherited

out depths

Definition at line 438 of file CaloDetDescriptor.h.

◆ m_calo_eta_max

double CaloDetDescriptor::m_calo_eta_max
protectedinherited

maximal Eta (to be defined in the derived classes)

Definition at line 410 of file CaloDetDescriptor.h.

◆ m_calo_eta_min

double CaloDetDescriptor::m_calo_eta_min
protectedinherited

minimal Eta (to be defined in the derived classes)

Definition at line 407 of file CaloDetDescriptor.h.

◆ m_calo_helper

const CaloCell_Base_ID* CaloDetDescriptor::m_calo_helper
privateinherited

Calo Cell ID helper.

Definition at line 339 of file CaloDetDescriptor.h.

◆ m_calo_num

CaloCell_ID::SUBCALO CaloDetDescriptor::m_calo_num
privateinherited

Subcalo.

Definition at line 382 of file CaloDetDescriptor.h.

◆ m_calo_phi_max

double CaloDetDescriptor::m_calo_phi_max
protectedinherited

maximal Phi (to be defined in the derived classes)

Definition at line 416 of file CaloDetDescriptor.h.

◆ m_calo_phi_min

double CaloDetDescriptor::m_calo_phi_min
protectedinherited

minimal Phi (to be defined in the derived classes)

Definition at line 413 of file CaloDetDescriptor.h.

◆ m_calo_r_max

double CaloDetDescriptor::m_calo_r_max
protectedinherited

maximal R (to be defined in the derived classes)

Definition at line 422 of file CaloDetDescriptor.h.

◆ m_calo_r_min

double CaloDetDescriptor::m_calo_r_min
protectedinherited

minimal R (to be defined in the derived classes)

Definition at line 419 of file CaloDetDescriptor.h.

◆ m_calo_sampl

CaloCell_ID::CaloSample CaloDetDescriptor::m_calo_sampl
privateinherited

Calo Sample.

Definition at line 378 of file CaloDetDescriptor.h.

◆ m_calo_sign

int CaloDetDescriptor::m_calo_sign
privateinherited

calo sign

Definition at line 371 of file CaloDetDescriptor.h.

◆ m_calo_z_max

double CaloDetDescriptor::m_calo_z_max
protectedinherited

maximal Z (to be defined in the derived classes)

Definition at line 428 of file CaloDetDescriptor.h.

◆ m_calo_z_min

double CaloDetDescriptor::m_calo_z_min
protectedinherited

minimal Z (to be defined in the derived classes)

Definition at line 425 of file CaloDetDescriptor.h.

◆ m_calocell_min

IdentifierHash CaloDetDescriptor::m_calocell_min
privateinherited

minimal hash id of region cells

Definition at line 386 of file CaloDetDescriptor.h.

◆ m_etachan_min

int CaloDetDescriptor::m_etachan_min
protectedinherited

minimal Eta channel number

Definition at line 458 of file CaloDetDescriptor.h.

◆ m_helper

const AtlasDetectorID* CaloDetDescriptor::m_helper
privateinherited

Atlas Detector ID helper.

Definition at line 336 of file CaloDetDescriptor.h.

◆ m_id

Identifier CaloDetDescriptor::m_id
privateinherited

Region identifier.

Definition at line 342 of file CaloDetDescriptor.h.

◆ m_is_lar_em

bool CaloDetDescriptor::m_is_lar_em
privateinherited

descriptor belongs to EM calorimeter

Definition at line 346 of file CaloDetDescriptor.h.

◆ m_is_lar_em_barrel

bool CaloDetDescriptor::m_is_lar_em_barrel
privateinherited

descriptor belongs to EM barrel

Definition at line 349 of file CaloDetDescriptor.h.

◆ m_is_lar_em_endcap

bool CaloDetDescriptor::m_is_lar_em_endcap
privateinherited

descriptor belongs to EM end cap

Definition at line 352 of file CaloDetDescriptor.h.

◆ m_is_lar_em_endcap_inner

bool CaloDetDescriptor::m_is_lar_em_endcap_inner
privateinherited

descriptor belongs to the inner wheel of EM end cap

Definition at line 355 of file CaloDetDescriptor.h.

◆ m_is_lar_em_endcap_outer

bool CaloDetDescriptor::m_is_lar_em_endcap_outer
privateinherited

descriptor belongs to the outer wheel of EM end cap

Definition at line 358 of file CaloDetDescriptor.h.

◆ m_is_lar_fcal

bool CaloDetDescriptor::m_is_lar_fcal
privateinherited

descriptor belongs to FCAL

Definition at line 364 of file CaloDetDescriptor.h.

◆ m_is_lar_hec

bool CaloDetDescriptor::m_is_lar_hec
privateinherited

descriptor belongs to HEC

Definition at line 361 of file CaloDetDescriptor.h.

◆ m_is_tile

bool CaloDetDescriptor::m_is_tile
privateinherited

descriptor belongs to Tile

Definition at line 367 of file CaloDetDescriptor.h.

◆ m_lar_deta

double CaloDetDescriptor::m_lar_deta
privateinherited

delta eta (LAr)

Definition at line 390 of file CaloDetDescriptor.h.

◆ m_lar_dphi

double CaloDetDescriptor::m_lar_dphi
privateinherited

delta phi (LAr)

Definition at line 393 of file CaloDetDescriptor.h.

◆ m_lar_eta_min

double CaloDetDescriptor::m_lar_eta_min
protectedinherited

minimal Eta for LAr region

Definition at line 455 of file CaloDetDescriptor.h.

◆ m_lar_n_eta

int CaloDetDescriptor::m_lar_n_eta
privateinherited

eta granularity (LAr)

Definition at line 396 of file CaloDetDescriptor.h.

◆ m_lar_n_phi

int CaloDetDescriptor::m_lar_n_phi
privateinherited

phi granularity (LAr)

Definition at line 399 of file CaloDetDescriptor.h.

◆ m_lar_phi_min

double CaloDetDescriptor::m_lar_phi_min
protectedinherited

minimal Phi for LAr region

Definition at line 452 of file CaloDetDescriptor.h.

◆ m_lar_reg_max

double CaloDetDescriptor::m_lar_reg_max
protectedinherited

maximal Abs Eta for LAr region

Definition at line 449 of file CaloDetDescriptor.h.

◆ m_lar_reg_min

double CaloDetDescriptor::m_lar_reg_min
protectedinherited

minimal Abs Eta for LAr region

Definition at line 446 of file CaloDetDescriptor.h.

◆ m_layer

int CaloDetDescriptor::m_layer
privateinherited

layer

Definition at line 374 of file CaloDetDescriptor.h.

◆ m_n_calo_depth

int CaloDetDescriptor::m_n_calo_depth
protectedinherited

number of depths

Definition at line 432 of file CaloDetDescriptor.h.

◆ m_transform

Amg::Transform3D CaloDetDescriptor::m_transform
protectedinherited

misalignment transformation

Definition at line 442 of file CaloDetDescriptor.h.


The documentation for this class was generated from the following files: