Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef LARG4FASTSIMULATION_LARFASTSHOWER_H
6 #define LARG4FASTSIMULATION_LARFASTSHOWER_H
13 #include "G4VFastSimulationModel.hh"
22 #include "HepMC3/WriterAscii.h"
44 G4bool
IsApplicable(
const G4ParticleDefinition&)
override;
49 virtual G4bool
ModelTrigger(
const G4FastTrack &)
override;
52 virtual G4bool
ForcedDeny (
const G4FastTrack &);
56 void DoIt(
const G4FastTrack&, G4FastStep&)
override;
71 std::unique_ptr<const HepMC::GenEvent>
GetGenEvent(
const G4FastTrack &fastTrack);
105 #endif //LARG4FASTSIMULATION_LARFASTSHOWER_H
virtual ~LArFastShower()
Destructor.
virtual G4bool CheckContainment(const G4FastTrack &fastTrack)
Function to check the containment of a shower within a regular detector region.
ILArG4ShowerLibSvc * showerLibSvc()
virtual G4bool ForcedDeny(const G4FastTrack &)
If it returns true, the particle will be returned to G4 without further checks.
This is the interface for the fast simulation dedicated sensitive detector.
double minEneToShowerLib(const G4ParticleDefinition &particleType) const
get upper energy limit for frozen showers
std::string m_detector_tag_str
void DoIt(const G4FastTrack &, G4FastStep &) override
Assigns the track to the appropriate method for application of the fast simulation.
std::unique_ptr< const HepMC::GenEvent > GetGenEvent(const G4FastTrack &fastTrack)
IFastSimDedicatedSD * fastShowerSD()
bool generateFSStartingPoint(std::unique_ptr< const HepMC::GenEvent > &ge) const
LArFastShower(const std::string &name, const FastShowerConfigStruct &config, IFastSimDedicatedSD *fastSimDedicatedSD)
Constructor.
bool m_generate_starting_points
virtual G4bool ModelTrigger(const G4FastTrack &) override
Determines the applicability of the fast sim model to this particular track.
void UseShowerLib(const G4FastTrack &, G4FastStep &)
Function for the application of shower library.
bool flagToShowerLib(const G4ParticleDefinition &particleType) const
get switch for frozen showers
ILArG4ShowerLibSvc * m_showerLibSvc
Pointer to the shower library service.
virtual G4bool ForcedAccept(const G4FastTrack &)
If it returns true, the particle will be parameterized without further checks.
void KillParticle(const G4FastTrack &, G4FastStep &)
Method to kill a particle and deposit its energy using exponential decay function.
std::map< int, bool > m_applicableMap
const FastShowerConfigStruct m_configuration
std::shared_ptr< HepMC::IO_GenEvent > m_starting_points_file
IFastSimDedicatedSD * m_fastSimDedicatedSD
Shower library sensitive detector for this shower.
double maxEneToShowerLib(const G4ParticleDefinition &particleType) const
get lower energy limit for frozen showers
G4bool IsApplicable(const G4ParticleDefinition &) override
Determines the applicability of the fast sim model to this particle type Called once for each track p...
std::map< std::string, int > m_detmap