All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ConfigurablePhysicsList.hh
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 /// \file CustomPhysicsList.h
3 //
4 /// \author bjpjones@mit.edu
5 ////////////////////////////////////////////////////////////////////////
6 // Configurable Physics List Class
7 //
8 // Ben Jones, MIT, 24/06/09
9 //
10 // Based on the QGSP_BERT physics list supplied with geant 4, but with
11 // options to switch on and off different physics processed from the config
12 // file.
13 //
14 // To include a new physics process, create a new physics builder registering
15 // the relevant particles and interactions. Then add the builder to the
16 // GetPhysicsBuilders and GetDefaultSettings functions in this class,
17 // using the name by which the builder will be referenced in the config
18 // file. Physics builders to be enabled are specified in the LArG4 config.
19 //
20 //
21 
22 #ifndef TConfigurablePhysicsList_h
23 #define TConfigurablePhysicsList_h 1
24 
25 #include "Geant4/CompileTimeConstraints.hh"
26 #include "Geant4/G4VModularPhysicsList.hh"
27 #include "Geant4/globals.hh"
28 
29 namespace larg4 {
30 
31  template <class T>
32  class TConfigurablePhysicsList : public T {
33  public:
34  TConfigurablePhysicsList(G4int ver = 1);
35  virtual ~TConfigurablePhysicsList();
37  std::vector<std::string> EnabledPhysics;
38  std::vector<std::string> GetDefaultSettings();
39  virtual void SetCuts();
40  };
41 
42 }
43 
44 #include "larsim/LegacyLArG4/ConfigurablePhysicsList.icc"
45 
46 namespace larg4 {
48 }
49 
50 #endif
std::vector< std::string > GetDefaultSettings()
std::vector< std::string > EnabledPhysics