CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GflashHadronShowerModel.h
Go to the documentation of this file.
1 #ifndef GflashHadronShowerModel_H
2 #define GflashHadronShowerModel_H
3 
5 #include "G4VFastSimulationModel.hh"
6 
7 #include "G4Navigator.hh"
8 #include "G4Step.hh"
9 #include "G4TouchableHandle.hh"
10 
17 class GflashHistogram;
18 
19 class GflashHadronShowerModel : public G4VFastSimulationModel {
20 public:
21  //-------------------------
22  // Constructor, destructor
23  //-------------------------
24  GflashHadronShowerModel(G4String modelName, G4Region *envelope, const edm::ParameterSet &parSet);
25  ~GflashHadronShowerModel() override;
26 
27  //------------------------------------------------------------------------
28  // Virtual methods that should be implemented for this hadron shower model
29  //------------------------------------------------------------------------
30 
31  G4bool IsApplicable(const G4ParticleDefinition &) override;
32  G4bool ModelTrigger(const G4FastTrack &) override;
33  void DoIt(const G4FastTrack &, G4FastStep &) override;
34 
35 private:
36  G4bool isFirstInelasticInteraction(const G4FastTrack &fastTrack);
37  G4bool excludeDetectorRegion(const G4FastTrack &fastTrack);
38  void makeHits(const G4FastTrack &fastTrack);
39  void updateGflashStep(const G4ThreeVector &position, G4double time);
40 
41 private:
42  G4bool theWatcherOn;
50 
51  G4Step *theGflashStep;
52  G4Navigator *theGflashNavigator;
53  G4TouchableHandle theGflashTouchableHandle;
54 
55  // debugging histograms
57 };
58 
59 #endif
GflashKaonMinusShowerProfile * theKaonMinusProfile
GflashAntiProtonShowerProfile * theAntiProtonProfile
G4bool ModelTrigger(const G4FastTrack &) override
void updateGflashStep(const G4ThreeVector &position, G4double time)
void makeHits(const G4FastTrack &fastTrack)
G4bool IsApplicable(const G4ParticleDefinition &) override
GflashHadronShowerProfile * theProfile
void DoIt(const G4FastTrack &, G4FastStep &) override
G4TouchableHandle theGflashTouchableHandle
G4bool isFirstInelasticInteraction(const G4FastTrack &fastTrack)
G4bool excludeDetectorRegion(const G4FastTrack &fastTrack)
static int position[264][3]
Definition: ReadPGInfo.cc:289
GflashKaonPlusShowerProfile * theKaonPlusProfile
GflashPiKShowerProfile * thePiKProfile
GflashProtonShowerProfile * theProtonProfile
GflashHadronShowerModel(G4String modelName, G4Region *envelope, const edm::ParameterSet &parSet)