CMS 3D CMS Logo

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 "G4TouchableHandle.hh"
8 #include "G4Navigator.hh"
9 #include "G4Step.hh"
10 
17 class G4Region;
18 //class GflashHistogram;
19 
20 class GFlashHadronShowerModel : public G4VFastSimulationModel {
21 public:
22  //-------------------------
23  // Constructor, destructor
24  //-------------------------
25  GFlashHadronShowerModel(G4String modelName, G4Region *envelope, const edm::ParameterSet &parSet);
26  ~GFlashHadronShowerModel() override;
27 
28  //------------------------------------------------------------------------
29  // Virtual methods that should be implemented for this hadron shower model
30  //------------------------------------------------------------------------
31 
32  G4bool IsApplicable(const G4ParticleDefinition &) override;
33  G4bool ModelTrigger(const G4FastTrack &) override;
34  void DoIt(const G4FastTrack &, G4FastStep &) override;
35 
36 private:
37  G4bool isFirstInelasticInteraction(const G4FastTrack &fastTrack);
38  G4bool excludeDetectorRegion(const G4FastTrack &fastTrack);
39  void makeHits(const G4FastTrack &fastTrack);
40  void updateGflashStep(const G4ThreeVector &position, G4double time);
41 
42 private:
43  G4bool theWatcherOn;
51 
52  const G4Region *theRegion;
53 
54  G4Step *theGflashStep;
55  G4Navigator *theGflashNavigator;
56  G4TouchableHandle theGflashTouchableHandle;
57 
58  //debugging histograms
59  //GflashHistogram* theHisto;
60 };
61 
62 #endif
GFlashHadronShowerModel::theGflashTouchableHandle
G4TouchableHandle theGflashTouchableHandle
Definition: GFlashHadronShowerModel.h:56
GFlashHadronShowerModel::ModelTrigger
G4bool ModelTrigger(const G4FastTrack &) override
Definition: GFlashHadronShowerModel.cc:71
GFlashHadronShowerModel::theGflashStep
G4Step * theGflashStep
Definition: GFlashHadronShowerModel.h:54
GFlashHadronShowerModel::thePiKProfile
GflashPiKShowerProfile * thePiKProfile
Definition: GFlashHadronShowerModel.h:46
GFlashHadronShowerModel::theKaonPlusProfile
GflashKaonPlusShowerProfile * theKaonPlusProfile
Definition: GFlashHadronShowerModel.h:47
GFlashHadronShowerModel::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &) override
Definition: GFlashHadronShowerModel.cc:65
GFlashHadronShowerModel::theKaonMinusProfile
GflashKaonMinusShowerProfile * theKaonMinusProfile
Definition: GFlashHadronShowerModel.h:48
GFlashHadronShowerModel::GFlashHadronShowerModel
GFlashHadronShowerModel(G4String modelName, G4Region *envelope, const edm::ParameterSet &parSet)
Definition: GFlashHadronShowerModel.cc:35
GFlashHadronShowerModel::theWatcherOn
G4bool theWatcherOn
Definition: GFlashHadronShowerModel.h:43
GFlashHadronShowerModel::theRegion
const G4Region * theRegion
Definition: GFlashHadronShowerModel.h:52
GflashKaonPlusShowerProfile
Definition: GflashKaonPlusShowerProfile.h:6
GflashKaonMinusShowerProfile
Definition: GflashKaonMinusShowerProfile.h:6
GflashProtonShowerProfile
Definition: GflashProtonShowerProfile.h:6
GFlashHadronShowerModel::makeHits
void makeHits(const G4FastTrack &fastTrack)
Definition: GFlashHadronShowerModel.cc:144
GFlashHadronShowerModel::theProfile
GflashHadronShowerProfile * theProfile
Definition: GFlashHadronShowerModel.h:45
GFlashHadronShowerModel::theAntiProtonProfile
GflashAntiProtonShowerProfile * theAntiProtonProfile
Definition: GFlashHadronShowerModel.h:50
GFlashHadronShowerModel::theGflashNavigator
G4Navigator * theGflashNavigator
Definition: GFlashHadronShowerModel.h:55
GFlashHadronShowerModel::theProtonProfile
GflashProtonShowerProfile * theProtonProfile
Definition: GFlashHadronShowerModel.h:49
GFlashHadronShowerModel::excludeDetectorRegion
G4bool excludeDetectorRegion(const G4FastTrack &fastTrack)
Definition: GFlashHadronShowerModel.cc:260
edm::ParameterSet
Definition: ParameterSet.h:36
GFlashHadronShowerModel::isFirstInelasticInteraction
G4bool isFirstInelasticInteraction(const G4FastTrack &fastTrack)
Definition: GFlashHadronShowerModel.cc:205
GFlashHadronShowerModel::theParSet
edm::ParameterSet theParSet
Definition: GFlashHadronShowerModel.h:44
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
GFlashHadronShowerModel::DoIt
void DoIt(const G4FastTrack &, G4FastStep &) override
Definition: GFlashHadronShowerModel.cc:110
ecalBarrelClusterFastTimer_cfi.modelName
modelName
Definition: ecalBarrelClusterFastTimer_cfi.py:10
GflashAntiProtonShowerProfile
Definition: GflashAntiProtonShowerProfile.h:6
GFlashHadronShowerModel
Definition: GFlashHadronShowerModel.h:20
GFlashHadronShowerModel::updateGflashStep
void updateGflashStep(const G4ThreeVector &position, G4double time)
Definition: GFlashHadronShowerModel.cc:198
ParameterSet.h
GflashHadronShowerProfile
Definition: GflashHadronShowerProfile.h:15
ntuplemaker.time
time
Definition: ntuplemaker.py:310
GFlashHadronShowerModel::~GFlashHadronShowerModel
~GFlashHadronShowerModel() override
Definition: GFlashHadronShowerModel.cc:56
GflashPiKShowerProfile
Definition: GflashPiKShowerProfile.h:6