CMS 3D CMS Logo

PhysicsListMaker.h

Go to the documentation of this file.
00001 #ifndef Physics_PhysicsListMaker_h
00002 #define Physics_PhysicsListMaker_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Physics
00006 // Class  :     PhysicsListMaker
00007 // 
00016 //
00017 // Original Author:  
00018 //         Created:  Tue Nov 22 13:03:44 EST 2005
00019 // $Id: PhysicsListMaker.h,v 1.2 2007/05/08 23:05:23 sunanda Exp $
00020 //
00021 
00022 // system include files
00023 #include <memory>
00024 
00025 // user include files
00026 #include "SimG4Core/Physics/interface/PhysicsListMakerBase.h"
00027 #include "SimG4Core/Notification/interface/SimActivityRegistryEnroller.h"
00028 
00029 // forward declarations
00030 
00031 template<class T>
00032 class PhysicsListMaker : public PhysicsListMakerBase
00033 {
00034 
00035    public:
00036       PhysicsListMaker(){}
00037 
00038       // ---------- const member functions ---------------------
00039       virtual std::auto_ptr<PhysicsList> make(G4LogicalVolumeToDDLogicalPartMap& map_,
00040                                               const edm::ParameterSet& p,
00041                                               SimActivityRegistry& reg) const
00042       {
00043         std::auto_ptr<T> returnValue(new T(map_, p));
00044         SimActivityRegistryEnroller::enroll(reg, returnValue.get());
00045         
00046         return std::auto_ptr<PhysicsList>(returnValue);
00047       }
00048 
00049 };
00050 
00051 
00052 #endif

Generated on Tue Jun 9 17:47:06 2009 for CMSSW by  doxygen 1.5.4