DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Geant4Factories.cpp
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 
14 // Framework include files
15 #include <DDG4/Factories.h>
16 using namespace dd4hep::sim;
17 
18 #include <DDG4/Geant4Random.h>
20 
21 #include <DDG4/Geant4ActionPhase.h>
23 
24 #include <DDG4/Geant4RunAction.h>
27 
28 #include <DDG4/Geant4EventAction.h>
31 
32 #include <DDG4/Geant4SteppingAction.h>
35 
36 #include <DDG4/Geant4TrackingAction.h>
39 
40 #include <DDG4/Geant4StackingAction.h>
43 
44 #include <DDG4/Geant4GeneratorAction.h>
47 
48 #include <DDG4/Geant4PhysicsList.h>
51 
52 #include <DDG4/Geant4DetectorConstruction.h>
55 
56 #include <DDG4/Geant4SensDetAction.h>
58 
59 #include <DDG4/Geant4UIManager.h>
61 
62 #include <DDG4/Geant4UserInitialization.h>
64 
65 #include <DDG4/Geant4MonteCarloTruth.h>
67 
68 #include <DDG4/Geant4ParticleHandler.h>
70 
71 #include <DDG4/Geant4UserParticleHandler.h>
73 
74 #include <DDG4/Geant4ParticlePrint.h>
76 
77 //=============================
78 #include <DDG4/Geant4TrackingPreAction.h>
80 
81 #include <DDG4/Geant4TrackingPostAction.h>
83 
84 //=============================
85 #include <DDG4/Geant4OutputAction.h>
87 
88 #include <DDG4/Geant4Output2ROOT.h>
90 
91 //=============================
92 #include <DDG4/Geant4ParticleGun.h>
94 
95 //=============================
96 #include <DDG4/Geant4GeneratorActionInit.h>
98 
99 //=============================
100 #include <DDG4/Geant4IsotropeGenerator.h>
103 
104 //=============================
105 #include <DDG4/Geant4InteractionVertexSmear.h>
107 
108 //=============================
109 #include <DDG4/Geant4InteractionVertexBoost.h>
111 
112 //=============================
113 #include <DDG4/Geant4InteractionMerger.h>
115 
116 //=============================
117 #include <DDG4/Geant4PrimaryHandler.h>
119 
120 //=============================
121 #include <DDG4/Geant4InputAction.h>
123 
124 //=============================
125 #include <DDG4/Geant4GeneratorWrapper.h>
127 
128 //=============================
129 #include <DDG4/Geant4TestActions.h>
130 namespace dd4hep { namespace sim {
131  namespace Test {}
132  //using namespace Test;
133  using namespace dd4hep::sim::Test;
136  }}
137 
DECLARE_GEANT4SENSITIVE
#define DECLARE_GEANT4SENSITIVE(name)
Definition: Factories.h:204
dd4hep::sim::Test::Geant4TestStepAction
Example stepping action doing nothing, but print.
Definition: Geant4TestActions.h:141
dd4hep::sim::Geant4ParticlePrint
Geant4Action to print MC particle information.
Definition: Geant4ParticlePrint.h:38
dd4hep::sim::Geant4SharedTrackingAction
Implementation of the Geant4 shared track action.
Definition: Geant4TrackingAction.h:77
Geant4ParticleHandler
Geant4Action to collect the MC particle information.
dd4hep::sim::Geant4UserInitializationSequence
Class to orchestrate a modular initializion of a multi- or single threaded Geant4 application.
Definition: Geant4UserInitialization.h:52
dd4hep::sim::Test::Geant4TestGeneratorAction
Example generator action doing nothing, but print.
Definition: Geant4TestActions.h:62
dd4hep::sim::Geant4StackingActionSequence
Concrete implementation of the Geant4 stacking action sequence.
Definition: Geant4StackingAction.h:128
Geant4ParticleGun
Implementation of a particle gun using Geant4Particles.
Geant4GeneratorWrapper
Wrap native G4 particle ganerators like the generic particle source etc.
Geant4InputAction
Basic geant4 event reader class. This interface/base-class must be implemented by concrete readers.
dd4hep::sim::Geant4TestSensitiveCalorimeter
Geant4TestSensitive Geant4TestSensitiveCalorimeter
Definition: Geant4Factories.cpp:135
dd4hep::sim::Test::Geant4TestEventAction
Example event action doing nothing, but print.
Definition: Geant4TestActions.h:100
dd4hep::sim::Geant4OutputAction
Base class to output Geant4 event data to persistent media.
Definition: Geant4OutputAction.h:40
DECLARE_GEANT4ACTION
#define DECLARE_GEANT4ACTION(name)
Plugin defintion to create Geant4Action objects.
Definition: Factories.h:210
dd4hep::sim::Geant4SharedRunAction
Implementation of the Geant4 shared run action.
Definition: Geant4RunAction.h:77
Geant4PrimaryHandler
Geant4Action to convert the particle information to Geant4.
dd4hep::sim::Geant4TrackingActionSequence
Concrete implementation of the Geant4 tracking action sequence.
Definition: Geant4TrackingAction.h:114
dd4hep::sim::Test::Geant4TestRunAction
Example run action doing nothing, but print.
Definition: Geant4TestActions.h:78
dd4hep::sim::Geant4SharedEventAction
Implementation of the Geant4 shared event action.
Definition: Geant4EventAction.h:85
Geant4UserParticleHandler
Geant4ParticleHandler user extension action called by the particle handler.
Geant4Random.h
dd4hep::sim::Geant4GeneratorActionSequence
Concrete implementation of the Geant4 generator action sequence.
Definition: Geant4GeneratorAction.h:115
dd4hep::sim::Geant4SharedSteppingAction
Implementation of the Geant4 shared stepping action.
Definition: Geant4SteppingAction.h:68
dd4hep::sim::Geant4TrackingPostAction
Default base class for all geant 4 tracking actions.
Definition: Geant4TrackingPostAction.h:32
dd4hep::sim::Geant4RunActionSequence
Concrete basic implementation of the Geant4 run action sequencer.
Definition: Geant4RunAction.h:117
dd4hep::sim::Test::Geant4TestTrackAction
Example tracking action doing nothing, but print.
Definition: Geant4TestActions.h:123
dd4hep::sim::Geant4PhysicsListActionSequence
The implementation of the single Geant4 physics list action sequence.
Definition: Geant4PhysicsList.h:223
dd4hep::sim::Geant4TestSensitiveTracker
Geant4TestSensitive Geant4TestSensitiveTracker
Definition: Geant4Factories.cpp:134
Geant4InteractionVertexSmear
Action class to smear the primary vertex (and all outgoing particles) of a single interaction.
dd4hep::sim::Geant4Random
Mini interface to THE random generator of the application.
Definition: Geant4Random.h:59
dd4hep::sim::Geant4DetectorConstructionSequence
Concrete basic implementation of the Geant4 detector construction sequencer.
Definition: Geant4DetectorConstruction.h:135
dd4hep::sim::Geant4GeneratorActionInit
Initialize the Geant4Event objects to host generator and MC truth related information.
Definition: Geant4GeneratorActionInit.h:54
Geant4InteractionMerger
Geant4Action to merge several independent interaction to one.
dd4hep::sim::Geant4ParticleGenerator
Generate particles isotrop in space around origine (0,0,0)
Definition: Geant4ParticleGenerator.h:38
dd4hep::sim::Geant4Output2ROOT
Class to output Geant4 event data to ROOT files.
Definition: Geant4Output2ROOT.h:37
dd4hep::sim::Geant4PhysicsList
Concrete basic implementation of a Geant4 physics list action.
Definition: Geant4PhysicsList.h:41
dd4hep::sim::Geant4PhaseAction
Generic action for Geant4 phases.
Definition: Geant4ActionPhase.h:36
dd4hep::sim::Geant4DummyTruthHandler
Void implementation of the Monte-Carlo thruth handler doing nothing at all.
Definition: Geant4MonteCarloTruth.h:66
Factories.h
dd4hep::sim
Namespace for the Geant4 based simulation part of the AIDA detector description toolkit.
Definition: Geant4Output2EDM4hep.cpp:49
dd4hep::sim::Geant4SensDetActionSequence
The sequencer to host Geant4 sensitive actions called if particles interact with sensitive elements.
Definition: Geant4SensDetAction.h:317
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
dd4hep::sim::Geant4EventActionSequence
Concrete implementation of the Geant4 event action sequence.
Definition: Geant4EventAction.h:124
dd4hep::sim::Test
Convenience namespace to separate test classes from the DDG4 simulation toolkit.
Definition: Geant4TestActions.h:35
dd4hep::sim::Geant4UIManager
Standard UI interface implementation with configuration using property options.
Definition: Geant4UIManager.h:53
dd4hep::sim::Test::Geant4TestStackAction
Example stacking action doing nothing, but print.
Definition: Geant4TestActions.h:157
dd4hep::sim::Test::Geant4TestSensitive
Example sensitve detector action doing nothing, but print.
Definition: Geant4TestActions.h:177
dd4hep::sim::Geant4TrackingPreAction
Default base class for all geant 4 tracking actions.
Definition: Geant4TrackingPreAction.h:31
dd4hep::sim::Geant4DetectorConstruction
Basic implementation of the Geant4 detector construction action.
Definition: Geant4DetectorConstruction.h:102
dd4hep::sim::Geant4SharedGeneratorAction
Implementation of the Geant4 shared generator action.
Definition: Geant4GeneratorAction.h:78
dd4hep::sim::Geant4SteppingActionSequence
Concrete implementation of the Geant4 stepping action sequence.
Definition: Geant4SteppingAction.h:104
dd4hep::sim::Geant4SharedStackingAction
Implementation of the Geant4 shared stacking action.
Definition: Geant4StackingAction.h:89
dd4hep::sim::Geant4IsotropeGenerator
Generate particles isotrop in space around origine (0,0,0)
Definition: Geant4IsotropeGenerator.h:31
Geant4InteractionVertexBoost
Action class to boost the primary vertex (and all outgoing particles) of a single interaction.