![]() |
HepPDT Reference DocumentationHepPDT |
00001 #ifndef PROCESSUNKNOWNID_HH 00002 #define PROCESSUNKNOWNID_HH 00003 // ---------------------------------------------------------------------- 00004 // 00005 // ProcessUnknownID.hh 00006 // Author: Lynn Garren 00007 // 00008 // ---------------------------------------------------------------------- 00009 00010 #include "HepPDT/ParticleID.hh" 00011 #include "HepPDT/ParticleData.hh" 00012 00013 namespace HepPDT { 00014 00015 // forward declaration to avoid circular dependencies 00016 class ParticleDataTable; 00017 00018 00020 00028 class ProcessUnknownID { 00029 00030 public: 00031 00033 ParticleData * callProcessUnknownID( ParticleID, const ParticleDataTable & ); 00034 00035 protected: 00036 ProcessUnknownID( ) : alreadyHere(false) {} 00037 virtual ~ProcessUnknownID( ) {} 00038 00039 private: 00040 00041 bool alreadyHere; 00042 00043 virtual ParticleData * processUnknownID( ParticleID, 00044 const ParticleDataTable & ) = 0; 00045 00046 }; // ProcessUnknownID 00047 00048 } // HepPDT 00049 00050 #endif // PROCESSUNKNOWNID_HH