Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:10

0001 #ifndef G4MAIN_PHG4PROCESSMAPPHYSICS_H
0002 #define G4MAIN_PHG4PROCESSMAPPHYSICS_H
0003 
0004 #include "PHG4MCProcessDefs.h"
0005 
0006 #include <map>
0007 #include <string>
0008 
0009 class G4VProcess;
0010 
0011 class PHG4ProcessMapPhysics
0012 {
0013  public:
0014   // explicit constructor
0015   PHG4ProcessMapPhysics();
0016   /// default copy constructor
0017   PHG4ProcessMapPhysics(const PHG4ProcessMapPhysics& rhs) = delete;
0018   /// default copy asigment
0019   PHG4ProcessMapPhysics& operator=(const PHG4ProcessMapPhysics& rhs) = delete;
0020   /// default move constructor
0021   PHG4ProcessMapPhysics(PHG4ProcessMapPhysics&& rhs) = delete;
0022   /// default move assigment constructor
0023   PHG4ProcessMapPhysics& operator=(PHG4ProcessMapPhysics&& rhs) = delete;
0024   /// default destructor
0025   ~PHG4ProcessMapPhysics() = default;
0026 
0027   // static access method
0028   static PHG4ProcessMapPhysics& Instance()
0029   {
0030     static PHG4ProcessMapPhysics fgInstance;
0031     return fgInstance;
0032   }
0033 
0034   // get methods
0035   PHG4MCProcess GetMCProcess(const G4VProcess* process) const;
0036   std::string_view GetMCProcessName(const G4VProcess* process) const;
0037 
0038  private:
0039   void FillMap();
0040 };
0041 
0042 #endif  // G4MAIN_PHG4PROCESSMAPPHYSICS_H