DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Geant4PhysicsConstructor.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 Markus Frank
11 // \date 2016-01-19
12 // \version 1.0
13 //
14 //==========================================================================
15 #ifndef DDG4_GEANT4PHYSICSCONSTRUCTOR_H
16 #define DDG4_GEANT4PHYSICSCONSTRUCTOR_H 1
17 
18 
19 // Framework include files
20 #include <DDG4/Geant4PhysicsList.h>
21 
22 // Geant4 include files
23 #include <G4ParticleTable.hh>
24 #include <G4VPhysicsConstructor.hh>
25 
27 namespace dd4hep {
28 
30  namespace sim {
31 
33 
50  public:
51 
53 
61  class Constructor : virtual public G4VPhysicsConstructor {
62  protected:
64  Constructor();
66  virtual ~Constructor();
67  public:
69  virtual G4ParticleTable::G4PTblDicIterator* particleIterator() const = 0;
70  };
71 
72  protected:
74  int m_type;
75  public:
77  Geant4PhysicsConstructor(Geant4Context* context, const std::string& nam);
79  virtual ~Geant4PhysicsConstructor();
81  virtual void constructPhysics(G4VModularPhysicsList* physics) override;
83  virtual void constructProcess(Constructor& ctor);
85  virtual void constructParticle(Constructor& ctor);
86  };
87 
88  } // End namespace sim
89 } // End namespace dd4hep
90 
91 #endif // DDG4_GEANT4PHYSICSCONSTRUCTOR_H
dd4hep::sim::Geant4PhysicsConstructor::Constructor
Helper class to be used by cleints, by NOT overloaded!
Definition: Geant4PhysicsConstructor.h:61
Geant4PhysicsList.h
dd4hep::sim::Geant4PhysicsConstructor::Constructor::~Constructor
virtual ~Constructor()
Default destructor.
Definition: Geant4PhysicsConstructor.cpp:70
dd4hep::sim::Geant4PhysicsConstructor::~Geant4PhysicsConstructor
virtual ~Geant4PhysicsConstructor()
Default destructor.
Definition: Geant4PhysicsConstructor.cpp:82
dd4hep::sim::Geant4PhysicsList::physics
PhysicsConstructors & physics()
Access all physics constructors.
Definition: Geant4PhysicsList.h:171
dd4hep::sim::Geant4PhysicsConstructor::Constructor::Constructor
Constructor()
Initializing constructor dealing with the callbacks.
Definition: Geant4PhysicsConstructor.cpp:64
dd4hep::sim::Geant4PhysicsConstructor::m_type
int m_type
Physics type (Default: 0)
Definition: Geant4PhysicsConstructor.h:74
dd4hep::sim::Geant4PhysicsConstructor::constructParticle
virtual void constructParticle(Constructor &ctor)
Callback to construct particles.
Definition: Geant4PhysicsConstructor.cpp:98
dd4hep::sim::Geant4PhysicsConstructor::constructProcess
virtual void constructProcess(Constructor &ctor)
Callback to construct processes (uses the G4 particle table)
Definition: Geant4PhysicsConstructor.cpp:94
G4VPhysicsConstructor
Class of the Geant4 toolkit. See http://www-geant4.kek.jp/Reference.
Definition: Geant4Classes.h:51
dd4hep::sim::Geant4PhysicsConstructor::Constructor::particleIterator
virtual G4ParticleTable::G4PTblDicIterator * particleIterator() const =0
Access to a fresh (resetted) instance of the particle table iterator.
dd4hep::sim::Geant4PhysicsList
Concrete basic implementation of a Geant4 physics list action.
Definition: Geant4PhysicsList.h:41
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
dd4hep::sim::Geant4PhysicsConstructor::Geant4PhysicsConstructor
Geant4PhysicsConstructor(Geant4Context *context, const std::string &nam)
Standard constructor with initailization parameters.
Definition: Geant4PhysicsConstructor.cpp:74
dd4hep::sim::Geant4PhysicsConstructor
Implementation base of a Geant4 physics constructor.
Definition: Geant4PhysicsConstructor.h:49
dd4hep::sim::Geant4PhysicsConstructor::constructPhysics
virtual void constructPhysics(G4VModularPhysicsList *physics) override
constructPhysics callback
Definition: Geant4PhysicsConstructor.cpp:88
dd4hep::sim::Geant4Context
Generic context to extend user, run and event information.
Definition: Geant4Context.h:201
dd4hep::sim::Geant4Action::context
Geant4Context * context() const
Access the context.
Definition: Geant4Action.h:270