Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:24

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 #ifndef DDG4_GEANT4TRACKINGPOSTACTION_H
0014 #define DDG4_GEANT4TRACKINGPOSTACTION_H
0015 
0016 // Framework include files
0017 #include <DDG4/Geant4TrackingAction.h>
0018 #include <vector>
0019 
0020 /// Namespace for the AIDA detector description toolkit
0021 namespace dd4hep {
0022 
0023   /// Namespace for the Geant4 based simulation part of the AIDA detector description toolkit
0024   namespace sim {
0025 
0026     /// Default base class for all geant 4 tracking actions.
0027     /**
0028      *  \author  M.Frank
0029      *  \version 1.0
0030      *  \ingroup DD4HEP_SIMULATION
0031      */
0032     class Geant4TrackingPostAction: public Geant4TrackingAction {
0033     protected:
0034       typedef std::vector<std::string> StringV;
0035       StringV m_requiredProcs;
0036       StringV m_ignoredProcs;
0037       bool    m_storeMarkedTracks;
0038 
0039     public:
0040       /// Standard constructor
0041       Geant4TrackingPostAction(Geant4Context* context, const std::string& name = "");
0042       /// Default destructor
0043       virtual ~Geant4TrackingPostAction();
0044 
0045       ///
0046       void saveTrack(const G4Track* track);
0047 
0048       /// Begin-of-tracking callback
0049       virtual void begin(const G4Track* track)  override;
0050       /// End-of-tracking callback
0051       virtual void end(const G4Track* track)  override;
0052     };
0053   }    // End namespace sim
0054 }      // End namespace dd4hep
0055 
0056 #endif // DDG4_GEANT4TRACKINGPOSTACTION_H