ATLAS Offline Software
LArRecoSimpleGeomTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 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 
19 class IMessageSvc;
20 class LArDetDescrManager;
21 
22 class IGeoModelSvc;
23 
24 //<<<<<< INCLUDES >>>>>>
25 
34 {
35 public:
36 
37  // Constructors:
38 
39  LArRecoSimpleGeomTool(const std::string& type,
40  const std::string& name,
41  const IInterface* parent);
42 
43  virtual ~LArRecoSimpleGeomTool();
44  static const InterfaceID& interfaceID( ) ;
45  virtual StatusCode initialize() override;
46  virtual StatusCode finalize() override;
47 
50  virtual
52  Amg::Transform3D& htrans,double& hphi,
53  std::vector<double>& radius,
54  std::vector<double>& depth,
55  std::vector<double>& hlength ) const override;
56 
57  virtual
59  Amg::Transform3D& htrans,double& hphi,
60  std::vector<double>& z,
61  std::vector<double>& depth,
62  std::vector<double>& rmin, std::vector<double>& rmax ) const override;
63 
64  virtual void print() const override;
65 
66 private:
67 
69  Amg::Transform3D& htrans,double& hphi,
70  std::vector<double>& radius,
71  std::vector<double>& depth,
72  std::vector<double>& hlength );
73 
75  Amg::Transform3D& htrans,double& hphi,
76  std::vector<double>& radius,
77  std::vector<double>& depth,
78  std::vector<double>& hlength );
79 
80  // mapping between ALIGNVOL and strings (need to retrieve StoredPV-s)
81  std::string map_av(CaloSubdetNames::ALIGNVOL alvol) const;
82 
83  const CaloCell_ID* m_calo_id = nullptr;
85 
86  // Access to DDDb :
87  std::string m_geometry;
88 
90  const IGeoModelSvc* m_geoModelSvc = nullptr;
91 
98 
99  std::string m_tag;
100  std::string m_node;
101 
102 };
103 
104 #endif // LARDETDESCR_LARSIMPLEGEOMTOOL_H
105 
106 
107 
108 
109 
110 
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
the enum ALIGNVOL covers all LAr pieces, including cryostats and coil
Definition: LArRecoSimpleGeomTool.cxx:307
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:577
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:128
IGeoModelSvc
Definition: IGeoModelSvc.h:17
LArRecoSimpleGeomTool::m_recPresPos
IRDBRecordset_ptr m_recPresPos
Definition: LArRecoSimpleGeomTool.h:95
LArRecoSimpleGeomTool::m_recPresGeo
IRDBRecordset_ptr m_recPresGeo
Definition: LArRecoSimpleGeomTool.h:93
LArRecoSimpleGeomTool::m_recBarrGeo
IRDBRecordset_ptr m_recBarrGeo
Definition: LArRecoSimpleGeomTool.h:94
LArRecoSimpleGeomTool::interfaceID
static const InterfaceID & interfaceID()
Definition: LArRecoSimpleGeomTool.cxx:37
LArRecoSimpleGeomTool::m_geoModelSvc
const IGeoModelSvc * m_geoModelSvc
Definition: LArRecoSimpleGeomTool.h:90
LArRecoSimpleGeomTool
This class implements the CaloDetDescr/ICaloRecoSimpleGeomTool and provides the simplified geometry n...
Definition: LArRecoSimpleGeomTool.h:34
LArRecoSimpleGeomTool::m_iAccessSvc
IRDBAccessSvc * m_iAccessSvc
Definition: LArRecoSimpleGeomTool.h:89
LArRecoSimpleGeomTool::m_calo_id
const CaloCell_ID * m_calo_id
Definition: LArRecoSimpleGeomTool.h:83
LArRecoSimpleGeomTool::m_node
std::string m_node
Definition: LArRecoSimpleGeomTool.h:100
LArRecoSimpleGeomTool::m_geometry
std::string m_geometry
Definition: LArRecoSimpleGeomTool.h:87
LArRecoSimpleGeomTool::initialize
virtual StatusCode initialize() override
Definition: LArRecoSimpleGeomTool.cxx:49
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
LArRecoSimpleGeomTool::print
virtual void print() const override
method for printout
Definition: LArRecoSimpleGeomTool.cxx:573
LArRecoSimpleGeomTool::~LArRecoSimpleGeomTool
virtual ~LArRecoSimpleGeomTool()
Definition: LArRecoSimpleGeomTool.cxx:117
z
#define z
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
ICaloRecoSimpleGeomTool
Definition: ICaloRecoSimpleGeomTool.h:37
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArRecoSimpleGeomTool::finalize
virtual StatusCode finalize() override
Definition: LArRecoSimpleGeomTool.cxx:122
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:609
LArRecoSimpleGeomTool::m_HEC
IRDBRecordset_ptr m_HEC
Definition: LArRecoSimpleGeomTool.h:97
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
LArRecoSimpleGeomTool::m_tag
std::string m_tag
Definition: LArRecoSimpleGeomTool.h:99
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:96
LArRecoSimpleGeomTool::LArRecoSimpleGeomTool
LArRecoSimpleGeomTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: LArRecoSimpleGeomTool.cxx:40
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
LArRecoSimpleGeomTool::m_phi_range
CaloPhiRange m_phi_range
Definition: LArRecoSimpleGeomTool.h:84
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
AthAlgTool
Definition: AthAlgTool.h:26
LArRecoSimpleGeomTool::m_recCryoCyl
IRDBRecordset_ptr m_recCryoCyl
Definition: LArRecoSimpleGeomTool.h:92
LArRecoSimpleGeomTool::map_av
std::string map_av(CaloSubdetNames::ALIGNVOL alvol) const
Definition: LArRecoSimpleGeomTool.cxx:641
CaloSubdetNames::ALIGNVOL
ALIGNVOL
LAr Alignable volumes.
Definition: CaloSubdetNames.h:36