ATLAS Offline Software
Loading...
Searching...
No Matches
LArFastShowerTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARG4FASTSIMULATION_LARFASTSHOWERTOOL_H
6#define LARG4FASTSIMULATION_LARFASTSHOWERTOOL_H
7
8// Base class header
10
11// Member variable headers
12#include "GaudiKernel/ServiceHandle.h"
15
16// STL headers
17#include <string>
18
21{
22public:
23
24 LArFastShowerTool(const std::string& type, const std::string& name, const IInterface *parent);
25
26 virtual ~LArFastShowerTool() = default;
27
28 StatusCode initialize() override final;
29
34 virtual G4VFastSimulationModel* makeFastSimModel() override final;
35
37 Gaudi::Property<std::string> m_fastSimDedicatedSD{this, "SensitiveDetector", ""
38 , "Fast sim dedicated SD for this setup"};
39 ServiceHandle<ILArG4ShowerLibSvc> m_showerLibSvc{this, "ShowerLibSvc", "LArG4ShowerLibSvc"
40 , "Handle on the shower library service"};
41
42 Gaudi::Property<bool> m_e_FlagShowerLib {this, "EFlagToShowerLib", true, "Switch for e+/- frozen showers"};
43 Gaudi::Property<double> m_e_MinEneShowerLib {this, "EMinEneShowerLib", 0.0*CLHEP::GeV, "Minimum energy for e+/- frozen showers"};
44 Gaudi::Property<double> m_e_MaxEneShowerLib {this, "EMaxEneShowerLib", 1.0*CLHEP::GeV, "Maximum energy for e+/- frozen showers"};
45
46 Gaudi::Property<bool> m_g_FlagShowerLib {this, "GFlagToShowerLib", true, "Switch for photon frozen showers"};
47 Gaudi::Property<double> m_g_MinEneShowerLib {this, "GMinEneShowerLib", 0.*CLHEP::GeV, "Minimum energy for photon frozen showers"};
48 Gaudi::Property<double> m_g_MaxEneShowerLib {this, "GMaxEneShowerLib", 0.010*CLHEP::GeV, "Maximum energy for photon frozen showers"};
49
50 Gaudi::Property<bool> m_Neut_FlagShowerLib {this, "NeutFlagToShowerLib", true, "Switch for neutron frozen showers"};
51 Gaudi::Property<double> m_Neut_MinEneShowerLib {this, "NeutMinEneShowerLib", 0.0*CLHEP::GeV, "Minimum energy for neutron frozen showers"};
52 Gaudi::Property<double> m_Neut_MaxEneShowerLib {this, "NeutMaxEneShowerLib", 0.1*CLHEP::GeV, "Maximum energy for neutron frozen showers"};
53
54 Gaudi::Property<bool> m_Pion_FlagShowerLib {this, "PionFlagToShowerLib", true, "Switch for neutron frozen showers"};
55 Gaudi::Property<double> m_Pion_MinEneShowerLib {this, "PionMinEneShowerLib", 0.0*CLHEP::GeV, "Minimum energy for neutron frozen showers"};
56 Gaudi::Property<double> m_Pion_MaxEneShowerLib {this, "PionMaxEneShowerLib", 2.0*CLHEP::GeV, "Maximum energy for neutron frozen showers"};
57
58 Gaudi::Property<bool> m_containLow {this, "ContainLow", true, "Switch for containment at low eta"};
59 Gaudi::Property<double> m_absLowEta {this, "AbsLowEta", 3.8, ""};
60 Gaudi::Property<bool> m_containHigh {this, "ContainHigh", true, "Switch for containment at high eta"};
61 Gaudi::Property<double> m_absHighEta {this, "AbsHighEta", 4.4, ""};
62 Gaudi::Property<bool> m_containCrack {this, "ContainCrack", true, "Switch for containment in the crack region"};
63 Gaudi::Property<double> m_absCrackEta1 {this, "AbsCrackEta1", 0.5, ""};
64 Gaudi::Property<double> m_absCrackEta2 {this, "AbsCrackEta2", 1.1, ""};
65
66 Gaudi::Property<std::string> m_generated_starting_points_file {this, "GeneratedStartingPointsFile", "",
67 "Name of file for generated SPs. Do not touch until you want to produce a new library"};
68 Gaudi::Property<float> m_generated_starting_points_ratio {this, "GeneratedStartingPointsRatio", 0.02f
69 , "Ratio of SPs that goes to output"};
70 Gaudi::Property<int> m_detector_tag {this, "DetectorTag", 0, "Which detector is this?"};
71
72 Gaudi::Property<bool> m_applyRRWeights {this, "ApplyRRWeights", false
73 , "Should the weights set by NRR/PRR be applied to Frozen Shower Energy deposits?"};
74
76};
77
78#endif //LARG4FASTSIMULATION_LARFASTSHOWERTOOL_H
#define protected
FastSimulationBase(const std::string &type, const std::string &name, const IInterface *parent)
LArFastShowerTool(const std::string &type, const std::string &name, const IInterface *parent)
Default constructor.
virtual ~LArFastShowerTool()=default
Gaudi::Property< double > m_g_MinEneShowerLib
Gaudi::Property< double > m_Pion_MinEneShowerLib
Gaudi::Property< double > m_Neut_MaxEneShowerLib
StatusCode initialize() override final
Gaudi::Property< int > m_detector_tag
virtual G4VFastSimulationModel * makeFastSimModel() override final
Method to make the actual fast simulation model itself, which will be owned by the tool.
Gaudi::Property< double > m_e_MinEneShowerLib
Gaudi::Property< bool > m_Neut_FlagShowerLib
Gaudi::Property< bool > m_g_FlagShowerLib
Gaudi::Property< double > m_e_MaxEneShowerLib
Gaudi::Property< std::string > m_fastSimDedicatedSD
Shower library sensitive detector for this shower.
Gaudi::Property< float > m_generated_starting_points_ratio
Gaudi::Property< double > m_absCrackEta2
Gaudi::Property< bool > m_containCrack
Gaudi::Property< bool > m_Pion_FlagShowerLib
ServiceHandle< ILArG4ShowerLibSvc > m_showerLibSvc
Pointer to the shower library service.
FastShowerConfigStruct m_configuration
Gaudi::Property< double > m_g_MaxEneShowerLib
Gaudi::Property< bool > m_containHigh
Gaudi::Property< double > m_absCrackEta1
Gaudi::Property< bool > m_e_FlagShowerLib
Gaudi::Property< double > m_Neut_MinEneShowerLib
Gaudi::Property< double > m_Pion_MaxEneShowerLib
Gaudi::Property< bool > m_containLow
Gaudi::Property< std::string > m_generated_starting_points_file
Gaudi::Property< bool > m_applyRRWeights
Gaudi::Property< double > m_absLowEta
Gaudi::Property< double > m_absHighEta
Support class for PropertyMgr.
Definition Property.h:23
=============================================================================
STL namespace.
#define private