Skip to content
Snippets Groups Projects
Geant4ExtraParticles.h 1.37 KiB
Newer Older
//
// Authors: Tomohiko Tanabe <tomohiko@icepp.s.u-tokyo.ac.jp>
//          Taikan Suehara <suehara@icepp.s.u-tokyo.ac.jp>
// Proted from Mokka by A.Sailer (CERN )
//
Marko Petric's avatar
Marko Petric committed
#ifndef DDG4_PLUGINS_GEANT4EXTRAPARTICLES_H
#define DDG4_PLUGINS_GEANT4EXTRAPARTICLES_H 1
#include "DDG4/Geant4PhysicsConstructor.h"

// geant4
#include "G4ProcessManager.hh"
#include "G4Decay.hh"
#include "G4hIonisation.hh"
#include "G4hMultipleScattering.hh"
#include "G4ParticleTable.hh"

/// Namespace for the AIDA detector description toolkit
Markus Frank's avatar
Markus Frank committed
namespace dd4hep {
  /// Namespace for the Geant4 based simulation part of the AIDA detector description toolkit
Markus Frank's avatar
Markus Frank committed
  namespace sim {
    /// Plugin class to read non-standard particle definitions from text file
    /**
     *  \author  A.Sailer
     *  \version 1.0
     *  \ingroup DD4HEP_SIMULATION
     */
    class Geant4ExtraParticles : public Geant4PhysicsConstructor    {
    public:
      /// Standard constructor with initailization parameters
      Geant4ExtraParticles(Geant4Context* ctxt, const std::string& nam);
      /// Default destructor
      virtual ~Geant4ExtraParticles();
      /// Callback to construct processes (uses the G4 particle table)
      virtual void constructProcess(Constructor& ctor);
      /// Callback to construct particles
      virtual void constructParticle(Constructor& ctor);
      std::string m_pdgfile;