|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #include "GaudiKernel/ServiceHandle.h"
12 #include "CLHEP/Units/SystemOfUnits.h"
13 #include "CLHEP/Units/PhysicalConstants.h"
20 : base_class(
name,sl),
21 m_generated_starting_points_file(),
22 m_generate_starting_points(false),
23 m_starting_points_file(),
26 declareProperty(
"EFlagToShowerLib",
m_e_FlagShowerLib =
true,
"Switch for e+/- frozen showers");
30 declareProperty(
"GFlagToShowerLib",
m_g_FlagShowerLib =
true,
"Switch for photon frozen showers");
34 declareProperty(
"NeutFlagToShowerLib",
m_Neut_FlagShowerLib =
true,
"Switch for neutron frozen showers");
38 declareProperty(
"PionFlagToShowerLib",
m_Pion_FlagShowerLib =
true,
"Switch for neutron frozen showers");
42 declareProperty(
"ContainLow",
m_containLow =
true,
"Switch for containment at low eta");
43 declareProperty(
"ContainHigh",
m_containHigh =
true,
"Switch for containment at high eta");
44 declareProperty(
"ContainCrack",
m_containCrack =
true,
"Switch for containment in the crack region");
46 declareProperty(
"GeneratedStartingPointsFile",
m_generated_starting_points_file =
"",
"Name of file for generated SPs. Do not touch until you want to produce a new library");
50 enum DETECTOR {
EMB=100000,
EMEC=200000,
FCAL1=300000,
FCAL2=400000,FCAL3=500000,HECLOC=600000,
HEC=700000};
71 msg(MSG::INFO) <<
"Initializing" <<
endmsg;
73 if (
name().
find(
"EMB") != std::string::npos) {
75 }
else if (
name().
find(
"EMEC") != std::string::npos) {
77 }
else if (
name().
find(
"FCAL2") != std::string::npos) {
79 }
else if (
name().
find(
"FCAL") != std::string::npos) {
81 }
else if (
name().
find(
"HEC") != std::string::npos) {
83 }
else if (
name().
find(
"DeadMaterial") != std::string::npos) {
100 return StatusCode::SUCCESS;
106 msg(MSG::INFO) <<
"Finalizing fast simulation service. " <<
endmsg;
111 return StatusCode::SUCCESS;
117 msg(MSG::INFO) <<
"List of Frozen Shower options:" <<
endmsg;
124 msg(MSG::INFO) <<
"Electrons energy range [MeV] for Frozen Showers ["
127 msg(MSG::INFO) <<
"Electrons wont be parameterized" <<
endmsg;
131 msg(MSG::INFO) <<
"Photons energy range [MeV] for Frozen Showers ["
134 msg(MSG::INFO) <<
"Photons wont be parameterized" <<
endmsg;
138 msg(MSG::INFO) <<
"Neutrons energy range [MeV] for Frozen Showers ["
141 msg(MSG::INFO) <<
"Neutrons wont be parameterized" <<
endmsg;
145 msg(MSG::INFO) <<
"Containment check at low eta: " << (this->
m_containLow ?
"YES" :
"NO") << endmsg;
146 msg(MSG::INFO) <<
"Containment check at crack eta: " << (this->
m_containCrack ?
"YES" :
"NO") << endmsg;
147 msg(MSG::INFO) <<
"Containment check at high eta: " << (this->
m_containHigh ?
"YES" :
"NO") << endmsg;
bool m_containLow
switch for containment check at low eta
std::string m_detector_tag_str
double m_e_MinEneShowerLib
lower energy limit for electron frozen showers
StringProperty m_generated_starting_points_file
switch for shower starting point record
std::string find(const std::string &s)
return a remapped string
int m_detector_tag
name for the detector tag for the ShowerLibSvc
double m_Neut_MinEneShowerLib
lower energy limit for neutron frozen showers
void print() const
dump object content
virtual StatusCode initialize()
std::map< std::string, int > m_detmap
bool m_containHigh
switch for containment check at high eta
HepMC::IO_GenEvent * m_starting_points_file
virtual StatusCode finalize()
bool m_containCrack
switch for containment check in crack region
double m_Pion_MinEneShowerLib
lower energy limit for pion frozen showers
LArG4FastSimSvc(const std::string &name, ISvcLocator *sl)
Standard Constructor.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual bool generateFSStartingPoint(const HepMC::GenEvent *ge)
double m_g_MaxEneShowerLib
lower energy limit for photon frozen showers
double m_Pion_MaxEneShowerLib
upper energy limit for pion frozen showers
float m_generated_starting_points_ratio
switch for shower starting point record
bool m_Neut_FlagShowerLib
switch for neutron frozen showers
virtual ~LArG4FastSimSvc()
Standard Destructor.
bool m_Pion_FlagShowerLib
switch for pion frozen showers
bool m_generate_starting_points
bool m_g_FlagShowerLib
switch for photon frozen showers
bool m_e_FlagShowerLib
switch for electron frozen showers
double m_g_MinEneShowerLib
upper energy limit for photon frozen showers
double m_Neut_MaxEneShowerLib
upper energy limit for neutron frozen showers
double m_e_MaxEneShowerLib
upper energy limit for electron frozen showers