Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:14:19

0001 //
0002 // Authors: Tomohiko Tanabe <tomohiko@icepp.s.u-tokyo.ac.jp>
0003 //          Taikan Suehara <suehara@icepp.s.u-tokyo.ac.jp>
0004 // Proted from Mokka by A.Sailer (CERN )
0005 //
0006 #ifndef DDG4_PLUGINS_GEANT4EXTRAPARTICLES_H
0007 #define DDG4_PLUGINS_GEANT4EXTRAPARTICLES_H 1
0008 
0009 #include <DDG4/Geant4PhysicsConstructor.h>
0010 
0011 // geant4
0012 #include <G4ProcessManager.hh>
0013 #include <G4Decay.hh>
0014 #include <G4hIonisation.hh>
0015 #include <G4hMultipleScattering.hh>
0016 #include <G4ParticleTable.hh>
0017 
0018 /// Namespace for the AIDA detector description toolkit
0019 namespace dd4hep {
0020 
0021   /// Namespace for the Geant4 based simulation part of the AIDA detector description toolkit
0022   namespace sim {
0023 
0024     /// Plugin class to read non-standard particle definitions from text file
0025     /**
0026      *  \author  A.Sailer
0027      *  \version 1.0
0028      *  \ingroup DD4HEP_SIMULATION
0029      */
0030     class Geant4ExtraParticles : public Geant4PhysicsConstructor    {
0031     public:
0032       /// Standard constructor with initailization parameters
0033       Geant4ExtraParticles(Geant4Context* ctxt, const std::string& nam);
0034       /// Default destructor
0035       virtual ~Geant4ExtraParticles();
0036       /// Callback to construct processes (uses the G4 particle table)
0037       virtual void constructProcess(Constructor& ctor);
0038       /// Callback to construct particles
0039       virtual void constructParticle(Constructor& ctor);
0040 
0041     private:
0042       std::string m_pdgfile;    
0043     };
0044   }
0045 }
0046 #endif
0047