PhysicsListFactory.hh

Go to the documentation of this file.
00001 // $Header: /cvs/lcd/slic/include/PhysicsListFactory.hh,v 1.13 2007/04/27 01:54:32 jeremy Exp $
00002 #ifndef SLIC_PHYSICSLISTFACTORY_HH
00003 #define SLIC_PHYSICSLISTFACTORY_HH 1
00004 
00005 // lcdd
00006 #include "Module.hh"
00007 
00008 // slic
00009 #include "PhysicsListBuilder.hh"
00010 #include "Singleton.hh"
00011 
00012 // geant4
00013 #include "G4VUserPhysicsList.hh"
00014 
00015 namespace slic
00016 {
00017 
00018   class VPhysicsListBuilder;
00019 
00027   class PhysicsListFactory : public Singleton<PhysicsListFactory>, public Module
00028   {
00029 
00030   public:
00031     PhysicsListFactory();
00032 
00033     virtual ~PhysicsListFactory();
00034 
00035   public:
00036     
00040     typedef std::map<G4String, VPhysicsListBuilder*> BuilderMap;
00041 
00042   public:
00043 
00047      void initializeBuilders();
00048     
00053     void addBuilder( VPhysicsListBuilder* );
00054 
00059     G4VUserPhysicsList* create( const std::string& name );
00060 
00064     void printAvailableLists();
00065 
00066   private:
00067 
00068     BuilderMap m_builders;
00069   };
00070 }
00071 
00072 #endif
00073 

Generated on Thu Nov 15 15:24:16 2007 for Simulator for the Linear Collider by  doxygen 1.5.4