ATLAS Offline Software
Loading...
Searching...
No Matches
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
25
26class LArRecoSimpleGeomTool : public extends<AthAlgTool, ICaloRecoSimpleGeomTool>
27{
28public:
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
39
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
56private:
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
CaloPhiRange class declaration.
ICaloSimpleGeomTool interface declaration 19.9.2005 Creation of the interface CaloDetDescr/ICaloSimpl...
Definition of the abstract IRDBAccessSvc interface.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
#define z
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
This class defines the phi convention for Calorimeters.
ALIGNVOL
LAr Alignable volumes.
IRDBRecordset_ptr m_recPresGeo
IRDBRecordset_ptr m_recCryoCyl
IRDBRecordset_ptr m_recPresPos
const CaloCell_ID * m_calo_id
bool ScanBarrelCryo(CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &radius, std::vector< double > &depth, std::vector< double > &hlength)
virtual StatusCode initialize() override
std::string map_av(CaloSubdetNames::ALIGNVOL alvol) const
virtual ~LArRecoSimpleGeomTool()=default
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
LArRecoSimpleGeomTool(const std::string &type, const std::string &name, const IInterface *parent)
bool ScanEMB(CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &radius, std::vector< double > &depth, std::vector< double > &hlength)
IRDBRecordset_ptr m_recBarrGeo
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
virtual void print() const override
std::string depth
tag string for intendation
Definition fastadd.cxx:46
Eigen::Affine3d Transform3D