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 "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
GflashHadronShowerModel::makeHits
void makeHits(const G4FastTrack &fastTrack)
Definition: GflashHadronShowerModel.cc:131
GflashHadronShowerModel::theGflashNavigator
G4Navigator * theGflashNavigator
Definition: GflashHadronShowerModel.h:52
GflashHadronShowerModel::theAntiProtonProfile
GflashAntiProtonShowerProfile * theAntiProtonProfile
Definition: GflashHadronShowerModel.h:49
GflashHadronShowerModel::GflashHadronShowerModel
GflashHadronShowerModel(G4String modelName, G4Region *envelope, const edm::ParameterSet &parSet)
Definition: GflashHadronShowerModel.cc:35
GflashHadronShowerModel::theGflashStep
G4Step * theGflashStep
Definition: GflashHadronShowerModel.h:51
GflashHistogram
Definition: GflashHistogram.h:16
GflashHadronShowerModel
Definition: GflashHadronShowerModel.h:19
GflashHadronShowerModel::updateGflashStep
void updateGflashStep(const G4ThreeVector &position, G4double time)
Definition: GflashHadronShowerModel.cc:183
GflashKaonPlusShowerProfile
Definition: GflashKaonPlusShowerProfile.h:6
GflashHadronShowerModel::DoIt
void DoIt(const G4FastTrack &, G4FastStep &) override
Definition: GflashHadronShowerModel.cc:97
GflashKaonMinusShowerProfile
Definition: GflashKaonMinusShowerProfile.h:6
GflashProtonShowerProfile
Definition: GflashProtonShowerProfile.h:6
GflashHadronShowerModel::excludeDetectorRegion
G4bool excludeDetectorRegion(const G4FastTrack &fastTrack)
Definition: GflashHadronShowerModel.cc:247
GflashHadronShowerModel::~GflashHadronShowerModel
~GflashHadronShowerModel() override
Definition: GflashHadronShowerModel.cc:54
GflashHadronShowerModel::isFirstInelasticInteraction
G4bool isFirstInelasticInteraction(const G4FastTrack &fastTrack)
Definition: GflashHadronShowerModel.cc:190
GflashHadronShowerModel::theWatcherOn
G4bool theWatcherOn
Definition: GflashHadronShowerModel.h:42
GflashHadronShowerModel::theProfile
GflashHadronShowerProfile * theProfile
Definition: GflashHadronShowerModel.h:44
edm::ParameterSet
Definition: ParameterSet.h:36
GflashHadronShowerModel::theKaonPlusProfile
GflashKaonPlusShowerProfile * theKaonPlusProfile
Definition: GflashHadronShowerModel.h:46
GflashHadronShowerModel::theHisto
GflashHistogram * theHisto
Definition: GflashHadronShowerModel.h:56
GflashHadronShowerModel::theGflashTouchableHandle
G4TouchableHandle theGflashTouchableHandle
Definition: GflashHadronShowerModel.h:53
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
ecalBarrelClusterFastTimer_cfi.modelName
modelName
Definition: ecalBarrelClusterFastTimer_cfi.py:11
GflashAntiProtonShowerProfile
Definition: GflashAntiProtonShowerProfile.h:6
GflashHadronShowerModel::theParSet
edm::ParameterSet theParSet
Definition: GflashHadronShowerModel.h:43
GflashHadronShowerModel::thePiKProfile
GflashPiKShowerProfile * thePiKProfile
Definition: GflashHadronShowerModel.h:45
GflashHadronShowerModel::theProtonProfile
GflashProtonShowerProfile * theProtonProfile
Definition: GflashHadronShowerModel.h:48
ParameterSet.h
GflashHadronShowerProfile
Definition: GflashHadronShowerProfile.h:15
ntuplemaker.time
time
Definition: ntuplemaker.py:310
GflashHadronShowerModel::theKaonMinusProfile
GflashKaonMinusShowerProfile * theKaonMinusProfile
Definition: GflashHadronShowerModel.h:47
GflashHadronShowerModel::ModelTrigger
G4bool ModelTrigger(const G4FastTrack &) override
Definition: GflashHadronShowerModel.cc:67
GflashHadronShowerModel::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &) override
Definition: GflashHadronShowerModel.cc:61
GflashPiKShowerProfile
Definition: GflashPiKShowerProfile.h:6