LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
PhysicsListHolder_service.hh
Go to the documentation of this file.
1 // Declarations for the @PhysicsListHolder@ service
2 
3 // Hang on to a physics list to be given to Geant
4 
5 // Note that this is a little different than the other holder services.
6 // Instead of "forwarding" member functons from the Geant class, we need
7 // to initialize Geant with the *real* physics list class (because it will
8 // change things internally).
9 
10 #ifndef artg4tk_services_PhysicsListHolder_service_hh
11 #define artg4tk_services_PhysicsListHolder_service_hh
12 
13 // Includes
15 #include "fhiclcpp/fwd.h"
16 
17 class G4VUserPhysicsList;
18 
19 // Everything for the Art G4 simulation goes in the @artg4tk@ namespace
20 namespace artg4tk {
21 
22  class PhysicsListServiceBase;
23 
25  public:
26  // Constructor for Physics List holder
28 
29  // This registers the passed detector with the service.
31 
32  // Get Physics list
33  G4VUserPhysicsList* makePhysicsList() const;
34 
35  // Initialize the physics list if necessary
36  void initializePhysicsList() const;
37 
38  private:
40 
41  }; // class PhysicsListHolderService
42 
43 } // end namespace artg4tk
44 
46 
47 #endif /* artg4tk_services_PhysicsListHolder_service_hh */
void registerPhysicsListService(PhysicsListServiceBase *)
#define DECLARE_ART_SERVICE(svc, scope)
PhysicsListHolderService(fhicl::ParameterSet const &)
G4VUserPhysicsList * makePhysicsList() const