00001 // $Id: HepMCConfig.h,v 1.4 2002/05/10 17:40:27 garren Exp $ 00002 // ---------------------------------------------------------------------- 00003 // HepMCConfig.h 00004 // ---------------------------------------------------------------------- 00005 00006 #ifndef HEPMCCONFIG_H 00007 #define HEPMCCONFIG_H 00008 00009 #include "CLHEP/config/CLHEP.h" 00010 #include <list> 00011 00012 #include "CLHEP/HepPDT/CommonParticleData.hh" 00013 #include "CLHEP/HepPDT/ParticleDataT.hh" 00014 #include "CLHEP/HepPDT/DecayDataT.hh" 00015 00016 // forward template declarations to avoid large object files 00017 // Note that the ParticleDataTable is never used by HepMC 00018 // Users create their own ParticleDataTable 00019 // ParticleDataTableConfig.h is provided to properly instantiate the PDT templates. 00020 // 00021 namespace HepPDT { 00022 00023 template< class Config > class ParticleDataTableT; 00024 template< class Config > class TableBuilderT; 00025 00026 } // HepPDT 00027 00028 // forward declaration of GenParticle to avoid compiler confusion 00029 namespace HepMC { 00030 00031 class GenParticle; 00032 00033 } // HepMC 00034 00039 struct HepMCConfig { 00040 00041 typedef HepPDT::CommonParticleData CPD; 00042 typedef HepMC::GenParticle PT; 00043 00044 typedef HepPDT::ParticleDataTableT<HepMCConfig> ParticleDataTable; 00045 typedef HepPDT::ParticleDataT<HepMCConfig> ParticleData; 00046 typedef HepPDT::DecayDataT<HepMCConfig> DecayData; 00047 typedef HepPDT::DecayChannelT<HepMCConfig> DecayChannel; 00048 typedef HepPDT::TableBuilderT<HepMCConfig> TableBuilder; 00049 00050 typedef std::list<CPD> CPDlist; 00051 typedef std::list<DecayData> DDlist; 00052 00053 typedef CPDlist::const_iterator CPDID; 00054 typedef DDlist::const_iterator DDID; 00055 00056 }; // HepMCConfig 00057 00058 #endif // HEPMCCONFIG_H