CMS 3D CMS Logo

GFlashEMShowerModel.h
Go to the documentation of this file.
1 //
2 //---------------------------------------------------------------
3 //
4 // GFlashEMShowerModel
5 //
6 // Class description:
7 //
8 // GFlash parameterisation shower model.
9 
10 // Authors: E.Barberio & Joanna Weng - 9.11.04
11 // other authors : Soon Yung Jun & Dongwook Jang - 2007/12/07
12 // V.Ivanchenko rename the class and move
13 // to SimG4Core/Application - 2012/08/14
14 //---------------------------------------------------------------
15 
16 #ifndef GFlashEMShowerModel_h
17 #define GFlashEMShowerModel_h
18 
20 
21 #include "G4VFastSimulationModel.hh"
22 #include "G4TouchableHandle.hh"
23 #include "G4Navigator.hh"
24 #include "G4Step.hh"
25 
27 class G4Region;
28 
29 class GFlashEMShowerModel : public G4VFastSimulationModel {
30 
31 public:
32 
33  GFlashEMShowerModel (const G4String& name, G4Envelope* env,
34  const edm::ParameterSet& parSet);
35  ~GFlashEMShowerModel () override;
36 
37  G4bool ModelTrigger(const G4FastTrack &) override;
38  G4bool IsApplicable(const G4ParticleDefinition&) override;
39  void DoIt(const G4FastTrack&, G4FastStep&) override;
40 
41 private:
42 
43  G4bool excludeDetectorRegion(const G4FastTrack& fastTrack);
44  void makeHits(const G4FastTrack& fastTrack);
45  void updateGflashStep(const G4ThreeVector& position, G4double time);
46 
47  //
50 
52 
53  const G4Region* theRegion;
54 
55  G4Step *theGflashStep;
56  G4Navigator *theGflashNavigator;
57  G4TouchableHandle theGflashTouchableHandle;
58 
59 };
60 #endif
void makeHits(const G4FastTrack &fastTrack)
G4TouchableHandle theGflashTouchableHandle
void DoIt(const G4FastTrack &, G4FastStep &) override
GflashEMShowerProfile * theProfile
const G4Region * theRegion
G4bool IsApplicable(const G4ParticleDefinition &) override
GFlashEMShowerModel(const G4String &name, G4Envelope *env, const edm::ParameterSet &parSet)
G4bool ModelTrigger(const G4FastTrack &) override
edm::ParameterSet theParSet
static int position[264][3]
Definition: ReadPGInfo.cc:509
void updateGflashStep(const G4ThreeVector &position, G4double time)
G4bool excludeDetectorRegion(const G4FastTrack &fastTrack)
G4Navigator * theGflashNavigator