DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Geant4FastSimShowerModel.inl.h
Go to the documentation of this file.
1 //==========================================================================
2 // AIDA Detector description implementation
3 //--------------------------------------------------------------------------
4 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
5 // All rights reserved.
6 //
7 // For the licensing terms see $DD4hepINSTALL/LICENSE.
8 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
9 //
10 // Author : M.Frank
11 //
12 //==========================================================================
13 #ifndef DDG4_GEANT4FASTSIMSHOWERMODEL_INL_H
14 #define DDG4_GEANT4FASTSIMSHOWERMODEL_INL_H
15 
16 // Framework include files
18 
19 // Geant4 include files
20 
21 // C/C++ include files
22 #include <vector>
23 #include <memory>
24 
26 
28 namespace dd4hep {
29 
31  namespace sim {
32 
34  template <typename CONCRETE_MODEL>
36  : Geant4FastSimShowerModel(context, nam)
37  {
38  this->initialize();
39  }
40 
42  template <typename CONCRETE_MODEL>
44  }
45 
47  template <typename CONCRETE_MODEL>
49  }
50 
52  template <typename CONCRETE_MODEL>
55  }
56 
58  template <typename CONCRETE_MODEL>
61  }
62 
64  template <typename CONCRETE_MODEL>
67  }
68 
70  template <typename CONCRETE_MODEL>
71  bool Geant4FSShowerModel<CONCRETE_MODEL>::check_applicability(const G4ParticleDefinition& particle) {
72  return this->Geant4FastSimShowerModel::check_applicability(particle);
73  }
74 
76  template <typename CONCRETE_MODEL>
77  bool Geant4FSShowerModel<CONCRETE_MODEL>::check_trigger(const G4FastTrack& track) {
78  return this->Geant4FastSimShowerModel::check_trigger(track);
79  }
80 
82  template <typename CONCRETE_MODEL>
83  void Geant4FSShowerModel<CONCRETE_MODEL>::modelShower(const G4FastTrack& track, G4FastStep& step) {
84  return this->Geant4FastSimShowerModel::modelShower(track, step);
85  }
86  } /* End namespace sim */
87 } /* End namespace dd4hep */
88 
89 #include <G4Version.hh>
90 #if G4VERSION_NUMBER > 1070
91 #include <G4FastSimHitMaker.hh>
92 #else
93 class G4FastHit;
94 class G4FastSimHitMaker { public: void make(const G4FastHit&, const G4FastTrack&) { } };
95 #endif
96 
97 #endif // DDG4_GEANT4FASTSIMSHOWERMODEL_INL_H
dd4hep::sim::Geant4FastSimShowerModel::modelShower
virtual void modelShower(const G4FastTrack &track, G4FastStep &step)
User callback to model the particle/energy shower.
Definition: Geant4FastSimShowerModel.cpp:226
dd4hep::sim::Geant4FSShowerModel::modelShower
virtual void modelShower(const G4FastTrack &track, G4FastStep &step) override
User callback to model the particle/energy shower.
Definition: Geant4FastSimShowerModel.inl.h:83
dd4hep::sim::Geant4FSShowerModel::constructField
virtual void constructField(Geant4DetectorConstructionContext *ctxt) override
Electromagnetic field construction callback. Called at "ConstructSDandField()".
Definition: Geant4FastSimShowerModel.inl.h:59
dd4hep::sim::Geant4FSShowerModel::initialize
void initialize()
Declare optional properties from embedded structure.
Definition: Geant4FastSimShowerModel.inl.h:48
dd4hep::sim::Geant4FastSimShowerModel::constructSensitives
virtual void constructSensitives(Geant4DetectorConstructionContext *ctxt) override
Sensitive detector construction callback. Called at "ConstructSDandField()".
Definition: Geant4FastSimShowerModel.cpp:184
G4FastHit
Definition: Geant4FastSimSpot.h:27
dd4hep::sim::Geant4DetectorConstructionContext
Geant4 detector construction context definition.
Definition: Geant4DetectorConstruction.h:61
dd4hep::sim::Geant4FastSimShowerModel::constructGeo
virtual void constructGeo(Geant4DetectorConstructionContext *ctxt) override
Geometry construction callback. Called at "Construct()".
Definition: Geant4FastSimShowerModel.cpp:171
G4FastSimHitMaker
Definition: Geant4FastSimShowerModel.inl.h:94
dd4hep::sim::Geant4FSShowerModel::Geant4FSShowerModel
Geant4FSShowerModel(Geant4Context *context, const std::string &nam)
Standard constructor.
Definition: Geant4FastSimShowerModel.inl.h:35
dd4hep::sim::Geant4FSShowerModel::check_trigger
virtual bool check_trigger(const G4FastTrack &track) override
User callback to determine if the shower creation should be triggered.
Definition: Geant4FastSimShowerModel.inl.h:77
G4FastSimHitMaker::make
void make(const G4FastHit &, const G4FastTrack &)
Definition: Geant4FastSimShowerModel.inl.h:94
dd4hep::sim::Geant4FastSimShowerModel::check_trigger
virtual bool check_trigger(const G4FastTrack &track)
User callback to determine if the shower creation should be triggered.
Definition: Geant4FastSimShowerModel.cpp:211
dd4hep::sim::Geant4FSShowerModel::check_applicability
virtual bool check_applicability(const G4ParticleDefinition &particle) override
User callback to determine if the model is applicable for the particle type.
Definition: Geant4FastSimShowerModel.inl.h:71
dd4hep::sim::Geant4FSShowerModel::constructSensitives
virtual void constructSensitives(Geant4DetectorConstructionContext *ctxt) override
Sensitive detector construction callback. Called at "ConstructSDandField()".
Definition: Geant4FastSimShowerModel.inl.h:65
dd4hep::sim::Geant4FastSimShowerModel::constructField
virtual void constructField(Geant4DetectorConstructionContext *ctxt) override
Electromagnetic field construction callback. Called at "ConstructSDandField()".
Definition: Geant4FastSimShowerModel.cpp:180
dd4hep::sim::Geant4FastSimShowerModel::check_applicability
virtual bool check_applicability(const G4ParticleDefinition &particle)
User callback to determine if the model is applicable for the particle type.
Definition: Geant4FastSimShowerModel.cpp:204
dd4hep::sim::Geant4FSShowerModel::constructGeo
virtual void constructGeo(Geant4DetectorConstructionContext *ctxt) override
Geometry construction callback. Called at "Construct()".
Definition: Geant4FastSimShowerModel.inl.h:53
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
Geant4FastSimShowerModel.h
dd4hep::sim::Geant4FSShowerModel::~Geant4FSShowerModel
virtual ~Geant4FSShowerModel()
Default destructor.
Definition: Geant4FastSimShowerModel.inl.h:43
dd4hep::sim::Geant4Context
Generic context to extend user, run and event information.
Definition: Geant4Context.h:201
dd4hep::sim::Geant4FastSimShowerModel
Geant4 wrapper for the Geant4 fast simulation shower model.
Definition: Geant4FastSimShowerModel.h:50