ATLAS Offline Software
MuidCaloMaterialParam.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
19 
21 #ifndef MUIDCALOSCATTERINGTOOLS_MUIDCALOMATERIALPARAM_H
22 #define MUIDCALOSCATTERINGTOOLS_MUIDCALOMATERIALPARAM_H
23 
24 //<<<<<< INCLUDES >>>>>>
25 
26 #include <vector>
27 
29 #include "GaudiKernel/ToolHandle.h"
30 #include "MuidEvent/CaloLayer.h"
33 
34 //<<<<<< CLASS DECLARATIONS >>>>>>
35 
36 namespace Rec {
37 
38  class MuidCaloMaterialParam : public AthAlgTool, virtual public IMuidCaloMaterialParam {
39  public:
40  MuidCaloMaterialParam(const std::string& type, const std::string& name, const IInterface* parent);
41  virtual ~MuidCaloMaterialParam() = default; // destructor
42 
43  StatusCode initialize() override;
44 
47  const Trk::Surface* innerSurface(double eta) const override;
48  const Trk::Surface* middleSurface(double eta) const override;
49  const Trk::Surface* outerSurface(double eta) const override;
50 
53  double radiationThickness(double eta) const override;
54 
57  std::unique_ptr<Trk::TrackStateOnSurface> trackStateOnSurface(const Trk::TrackParameters& parameters) const override;
58 
59  private:
60  // private methods
61  std::unique_ptr<Trk::Surface> createSurface(double eta, double r, double z, double cotThetaWidth) const;
63 
64  // helpers, managers, tools
65  ToolHandle<Trk::IGeometryProcessor> m_surfaceDisplayTool{
66  this,
67  "SurfaceDisplayTool",
68  "Trk::TrackingVolumeDisplayer/TrackingVolumeDisplayer",
69  };
70 
71  // configuration
74 
75  // data from geantino map - organized at initialize
76  double m_binSize;
77  std::vector<std::unique_ptr<const CaloLayer>> m_caloInnerLayers;
78  std::vector<std::unique_ptr<const CaloLayer>> m_caloOuterLayers;
79  std::vector<std::unique_ptr<const Trk::Surface>> m_innerBackwardSurfaces;
80  std::vector<std::unique_ptr<const Trk::Surface>> m_innerForwardSurfaces;
81  std::vector<std::unique_ptr<const Trk::Surface>> m_middleBackwardSurfaces;
82  std::vector<std::unique_ptr<const Trk::Surface>> m_middleForwardSurfaces;
83  const unsigned m_numberBins;
84  std::vector<std::unique_ptr<const Trk::Surface>> m_outerBackwardSurfaces;
85  std::vector<std::unique_ptr<const Trk::Surface>> m_outerForwardSurfaces;
86  std::vector<double> m_radiationThickness;
87  };
88 
89 } // namespace Rec
90 
91 #endif // MUIDCALOSCATTERINGTOOLS_MUIDCALOMATERIALPARAM_H
beamspotman.r
def r
Definition: beamspotman.py:676
Rec::MuidCaloMaterialParam::m_binSize
double m_binSize
Definition: MuidCaloMaterialParam.h:76
Rec::MuidCaloMaterialParam::middleSurface
const Trk::Surface * middleSurface(double eta) const override
Definition: MuidCaloMaterialParam.cxx:105
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
Rec::MuidCaloMaterialParam::radiationThickness
double radiationThickness(double eta) const override
IMuidCaloMaterialParam interface: calorimeter layer radiation thickness corresponding to eta value.
Definition: MuidCaloMaterialParam.cxx:151
Rec::MuidCaloMaterialParam::m_produceSurfacesDisplay
bool m_produceSurfacesDisplay
if true (set in jobOptions), use TrackingVolumeDisplayer to produce ROOT output.
Definition: MuidCaloMaterialParam.h:73
Rec::MuidCaloMaterialParam::defineCaloMaterial
StatusCode defineCaloMaterial()
Definition: MuidCaloMaterialParam.cxx:210
Rec::MuidCaloMaterialParam::createSurface
std::unique_ptr< Trk::Surface > createSurface(double eta, double r, double z, double cotThetaWidth) const
Definition: MuidCaloMaterialParam.cxx:191
Rec::MuidCaloMaterialParam::initialize
StatusCode initialize() override
Definition: MuidCaloMaterialParam.cxx:47
Rec::MuidCaloMaterialParam::m_surfaceDisplayTool
ToolHandle< Trk::IGeometryProcessor > m_surfaceDisplayTool
Definition: MuidCaloMaterialParam.h:65
Rec::MuidCaloMaterialParam::~MuidCaloMaterialParam
virtual ~MuidCaloMaterialParam()=default
IMuidCaloMaterialParam.h
Rec::MuidCaloMaterialParam::m_outerForwardSurfaces
std::vector< std::unique_ptr< const Trk::Surface > > m_outerForwardSurfaces
Definition: MuidCaloMaterialParam.h:85
Rec::MuidCaloMaterialParam
Definition: MuidCaloMaterialParam.h:38
Rec::MuidCaloMaterialParam::m_numberBins
const unsigned m_numberBins
Definition: MuidCaloMaterialParam.h:83
z
#define z
Rec
Name: MuonSpContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.
Definition: FakeTrackBuilder.h:10
Rec::MuidCaloMaterialParam::outerSurface
const Trk::Surface * outerSurface(double eta) const override
Definition: MuidCaloMaterialParam.cxx:128
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Rec::MuidCaloMaterialParam::m_innerForwardSurfaces
std::vector< std::unique_ptr< const Trk::Surface > > m_innerForwardSurfaces
Definition: MuidCaloMaterialParam.h:80
Trk::ParametersBase
Definition: ParametersBase.h:55
Rec::MuidCaloMaterialParam::MuidCaloMaterialParam
MuidCaloMaterialParam(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MuidCaloMaterialParam.cxx:39
Rec::MuidCaloMaterialParam::m_innerBackwardSurfaces
std::vector< std::unique_ptr< const Trk::Surface > > m_innerBackwardSurfaces
Definition: MuidCaloMaterialParam.h:79
Rec::MuidCaloMaterialParam::m_radiationThickness
std::vector< double > m_radiationThickness
Definition: MuidCaloMaterialParam.h:86
Rec::MuidCaloMaterialParam::m_outerBackwardSurfaces
std::vector< std::unique_ptr< const Trk::Surface > > m_outerBackwardSurfaces
Definition: MuidCaloMaterialParam.h:84
IGeometryProcessor.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Rec::MuidCaloMaterialParam::m_caloOuterLayers
std::vector< std::unique_ptr< const CaloLayer > > m_caloOuterLayers
Definition: MuidCaloMaterialParam.h:78
Rec::MuidCaloMaterialParam::trackStateOnSurface
std::unique_ptr< Trk::TrackStateOnSurface > trackStateOnSurface(const Trk::TrackParameters &parameters) const override
IMuidCaloMaterialParam interface: TrackStateOnSurface for parameters at a scattering surface.
Definition: MuidCaloMaterialParam.cxx:166
Rec::MuidCaloMaterialParam::m_middleBackwardSurfaces
std::vector< std::unique_ptr< const Trk::Surface > > m_middleBackwardSurfaces
Definition: MuidCaloMaterialParam.h:81
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloLayer.h
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
Rec::IMuidCaloMaterialParam
Definition: IMuidCaloMaterialParam.h:39
Rec::MuidCaloMaterialParam::m_middleForwardSurfaces
std::vector< std::unique_ptr< const Trk::Surface > > m_middleForwardSurfaces
Definition: MuidCaloMaterialParam.h:82
Rec::MuidCaloMaterialParam::innerSurface
const Trk::Surface * innerSurface(double eta) const override
IMuidCaloMaterialParam interface: return inner/middle/outer surface corresponding to eta value.
Definition: MuidCaloMaterialParam.cxx:82
AthAlgTool
Definition: AthAlgTool.h:26
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Rec::MuidCaloMaterialParam::m_caloInnerLayers
std::vector< std::unique_ptr< const CaloLayer > > m_caloInnerLayers
Definition: MuidCaloMaterialParam.h:77