CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/SimG4Core/CustomPhysics/interface/CustomParticleFactory.h

Go to the documentation of this file.
00001 #ifndef CustomParticleFactory_h
00002 #define CustomParticleFactory_h 1
00003 
00004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00005 
00006 #include "SimG4Core/CustomPhysics/interface/CustomParticle.h"
00007 #include <set>
00008 #include <string>
00009 
00010 class G4DecayTable;
00011 // ######################################################################
00012 // ###                          CustomParticle                                ###
00013 // ######################################################################
00014 
00015 class CustomParticleFactory {
00016 
00017  public:
00018   static void loadCustomParticles(const std::string & filePath);
00019   static bool isCustomParticle(G4ParticleDefinition *particle);
00020 
00021  private:
00022 
00023   static void addCustomParticle(int pdgCode, double mass, const std::string & name );
00024   static void getMassTable(std::ifstream *configFile);
00025   static G4DecayTable* getDecayTable(std::ifstream *configFile, int pdgId);
00026   static G4DecayTable* getAntiDecayTable(int pdgId, G4DecayTable *theDecayTable);
00027 
00028   static bool loaded;
00029   static std::set<G4ParticleDefinition *> m_particles;
00030   
00031 };
00032 
00033 #endif