CLHEP/HepMC/HepMCConfig.h

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

Class Library for High Energy Physics (version 1.8)