ATLAS Offline Software
NeutronFastSim.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRACKWRITEFASTSIM_NeutronFastSim_h
6 #define TRACKWRITEFASTSIM_NeutronFastSim_h
7 
8 //Base class header
9 #include "G4VFastSimulationModel.hh"
10 #include <G4Region.hh>
11 
12 //STL headers
13 #include <string>
14 
15 class TrackFastSimSD;
16 
17 class NeutronFastSim: public G4VFastSimulationModel
18 {
19 public:
20 
21  NeutronFastSim(const std::string& name, G4Region* region, const std::string& fsSDname, const double etaCut, const double timeCut);
23 
24  // Fast Sim Methods
25  G4bool IsApplicable(const G4ParticleDefinition&) override final;
26  virtual G4bool ModelTrigger(const G4FastTrack &) override final;
27  void DoIt(const G4FastTrack&, G4FastStep&) override final;
28 
29 protected:
30 
31  G4double m_Energy;
33  bool m_init;
34  std::string m_fsSDname;
35  double m_etaCut;
36  double m_timeCut;
37 };
38 
39 #endif //TRACKWRITEFASTSIM_NeutronFastSim_h
NeutronFastSim::NeutronFastSim
NeutronFastSim(const std::string &name, G4Region *region, const std::string &fsSDname, const double etaCut, const double timeCut)
Definition: NeutronFastSim.cxx:17
TrackFastSimSD
Definition: TrackFastSimSD.h:24
NeutronFastSim::~NeutronFastSim
~NeutronFastSim()
Definition: NeutronFastSim.h:22
NeutronFastSim::ModelTrigger
virtual G4bool ModelTrigger(const G4FastTrack &) override final
Definition: NeutronFastSim.cxx:47
NeutronFastSim::m_fsSDname
std::string m_fsSDname
Definition: NeutronFastSim.h:34
NeutronFastSim::m_Energy
G4double m_Energy
Definition: NeutronFastSim.h:31
NeutronFastSim::DoIt
void DoIt(const G4FastTrack &, G4FastStep &) override final
Definition: NeutronFastSim.cxx:64
NeutronFastSim
Definition: NeutronFastSim.h:18
NeutronFastSim::m_timeCut
double m_timeCut
Definition: NeutronFastSim.h:36
NeutronFastSim::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &) override final
Definition: NeutronFastSim.cxx:28
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
NeutronFastSim::m_etaCut
double m_etaCut
Definition: NeutronFastSim.h:35
NeutronFastSim::m_fsSD
TrackFastSimSD * m_fsSD
Definition: NeutronFastSim.h:32
NeutronFastSim::m_init
bool m_init
Definition: NeutronFastSim.h:33