ATLAS Offline Software
LArRecoSimpleGeomTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // ***************************************************************************
6 //
7 // 3.8.2005 Creation of the tool by claire.bourdarios@cern.ch
8 //
9 // ***************************************************************************
10 
11 #ifndef LARDETDESCR_LARRECOSIMPLEGEOMTOOL_H
12 #define LARDETDESCR_LARRECOSIMPLEGEOMTOOL_H
13 
18 
26 class LArRecoSimpleGeomTool : public extends<AthAlgTool, ICaloRecoSimpleGeomTool>
27 {
28 public:
29 
30  // Constructor:
31  LArRecoSimpleGeomTool(const std::string& type,
32  const std::string& name,
33  const IInterface* parent);
34 
35  virtual ~LArRecoSimpleGeomTool() = default;
36  virtual StatusCode initialize() override;
37 
40  virtual
42  Amg::Transform3D& htrans,double& hphi,
43  std::vector<double>& radius,
44  std::vector<double>& depth,
45  std::vector<double>& hlength ) const override;
46 
47  virtual
49  Amg::Transform3D& htrans,double& hphi,
50  std::vector<double>& z,
51  std::vector<double>& depth,
52  std::vector<double>& rmin, std::vector<double>& rmax ) const override;
53 
54  virtual void print() const override;
55 
56 private:
57 
59  Amg::Transform3D& htrans,double& hphi,
60  std::vector<double>& radius,
61  std::vector<double>& depth,
62  std::vector<double>& hlength );
63 
65  Amg::Transform3D& htrans,double& hphi,
66  std::vector<double>& radius,
67  std::vector<double>& depth,
68  std::vector<double>& hlength );
69 
70  // mapping between ALIGNVOL and strings (need to retrieve StoredPV-s)
71  std::string map_av(CaloSubdetNames::ALIGNVOL alvol) const;
72 
73  const CaloCell_ID* m_calo_id = nullptr;
75 
76  // Access to DDDb :
77  std::string m_geometry;
78 
85 };
86 
87 #endif // LARDETDESCR_LARSIMPLEGEOMTOOL_H
88 
89 
90 
91 
92 
93 
LArRecoSimpleGeomTool::get_disk_surface
virtual bool get_disk_surface(CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &z, std::vector< double > &depth, std::vector< double > &rmin, std::vector< double > &rmax) const override
Definition: LArRecoSimpleGeomTool.cxx:285
egammaParameters::depth
@ depth
pointing depth of the shower as calculated in egammaqgcld
Definition: egammaParamDefs.h:276
CaloPhiRange
This class defines the phi convention for Calorimeters.
Definition: CaloPhiRange.h:28
LArRecoSimpleGeomTool::ScanBarrelCryo
bool ScanBarrelCryo(CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &radius, std::vector< double > &depth, std::vector< double > &hlength)
Definition: LArRecoSimpleGeomTool.cxx:555
LArRecoSimpleGeomTool::get_cylinder_surface
virtual bool get_cylinder_surface(CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &radius, std::vector< double > &depth, std::vector< double > &hlength) const override
the enum ALIGNVOL covers all LAr pieces, including cryostats and coil
Definition: LArRecoSimpleGeomTool.cxx:106
LArRecoSimpleGeomTool::m_recPresPos
IRDBRecordset_ptr m_recPresPos
Definition: LArRecoSimpleGeomTool.h:82
LArRecoSimpleGeomTool::m_recPresGeo
IRDBRecordset_ptr m_recPresGeo
Definition: LArRecoSimpleGeomTool.h:80
LArRecoSimpleGeomTool::m_recBarrGeo
IRDBRecordset_ptr m_recBarrGeo
Definition: LArRecoSimpleGeomTool.h:81
LArRecoSimpleGeomTool
This class implements the CaloDetDescr/ICaloRecoSimpleGeomTool and provides the simplified geometry n...
Definition: LArRecoSimpleGeomTool.h:27
LArRecoSimpleGeomTool::m_calo_id
const CaloCell_ID * m_calo_id
Definition: LArRecoSimpleGeomTool.h:73
LArRecoSimpleGeomTool::m_geometry
std::string m_geometry
Definition: LArRecoSimpleGeomTool.h:77
LArRecoSimpleGeomTool::initialize
virtual StatusCode initialize() override
Definition: LArRecoSimpleGeomTool.cxx:44
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
LArRecoSimpleGeomTool::print
virtual void print() const override
Definition: LArRecoSimpleGeomTool.cxx:551
z
#define z
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloPhiRange.h
CaloPhiRange class declaration.
LArRecoSimpleGeomTool::ScanEMB
bool ScanEMB(CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &radius, std::vector< double > &depth, std::vector< double > &hlength)
Definition: LArRecoSimpleGeomTool.cxx:587
LArRecoSimpleGeomTool::m_HEC
IRDBRecordset_ptr m_HEC
Definition: LArRecoSimpleGeomTool.h:84
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
ICaloRecoSimpleGeomTool.h
ICaloSimpleGeomTool interface declaration 19.9.2005 Creation of the interface CaloDetDescr/ICaloSimpl...
LArRecoSimpleGeomTool::m_EmecGeo
IRDBRecordset_ptr m_EmecGeo
Definition: LArRecoSimpleGeomTool.h:83
LArRecoSimpleGeomTool::LArRecoSimpleGeomTool
LArRecoSimpleGeomTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: LArRecoSimpleGeomTool.cxx:36
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
LArRecoSimpleGeomTool::m_phi_range
CaloPhiRange m_phi_range
Definition: LArRecoSimpleGeomTool.h:74
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LArRecoSimpleGeomTool::~LArRecoSimpleGeomTool
virtual ~LArRecoSimpleGeomTool()=default
LArRecoSimpleGeomTool::m_recCryoCyl
IRDBRecordset_ptr m_recCryoCyl
Definition: LArRecoSimpleGeomTool.h:79
LArRecoSimpleGeomTool::map_av
std::string map_av(CaloSubdetNames::ALIGNVOL alvol) const
Definition: LArRecoSimpleGeomTool.cxx:619
CaloSubdetNames::ALIGNVOL
ALIGNVOL
LAr Alignable volumes.
Definition: CaloSubdetNames.h:36