00001 00012 #ifndef McRelTableDefs_h 00013 #define McRelTableDefs_h 00014 #include "GaudiKernel/SmartRefVector.h" 00015 #include "RelTable/RelTable.h" 00016 00017 // Start the defintions 00018 namespace Event { 00019 00020 // Monte Carlo objects with the "truth" 00021 class McParticle; 00022 class MdcMcHit; 00023 class TofMcHit; 00024 class EmcMcHit; 00025 class MucMcHit; 00026 00027 // typedefs for relating McParticle to associated MdcMcHit 00028 typedef Event::RelTable<Event::McParticle, Event::MdcMcHit> McPartToMdcHitTab; 00029 typedef Event::Relation<Event::McParticle, Event::MdcMcHit> McPartToMdcHitRel; 00030 typedef ObjectList<Event::McPartToMdcHitRel> McPartToMdcHitList; 00031 typedef std::vector<Event::McPartToMdcHitRel*> McPartToMdcHitVec; 00032 00033 // typedefs for relating McParticle to associated TofMcHit 00034 typedef Event::RelTable<Event::McParticle, Event::TofMcHit> McPartToTofHitTab; 00035 typedef Event::Relation<Event::McParticle, Event::TofMcHit> McPartToTofHitRel; 00036 typedef ObjectList<Event::McPartToTofHitRel> McPartToTofHitList; 00037 typedef std::vector<Event::McPartToTofHitRel*> McPartToTofHitVec; 00038 00039 // typedefs for relating McParticle to associated EmcMcHit 00040 typedef Event::RelTable<Event::McParticle, Event::EmcMcHit> McPartToEmcHitTab; 00041 typedef Event::Relation<Event::McParticle, Event::EmcMcHit> McPartToEmcHitRel; 00042 typedef ObjectList<Event::McPartToEmcHitRel> McPartToEmcHitList; 00043 typedef std::vector<Event::McPartToEmcHitRel*> McPartToEmcHitVec; 00044 00045 // typedefs for relating McParticle to associated MucMcHit 00046 typedef Event::RelTable<Event::McParticle, Event::MucMcHit> McPartToMucHitTab; 00047 typedef Event::Relation<Event::McParticle, Event::MucMcHit> McPartToMucHitRel; 00048 typedef ObjectList<Event::McPartToMucHitRel> McPartToMucHitList; 00049 typedef std::vector<Event::McPartToMucHitRel*> McPartToMucHitVec; 00050 00051 } 00052 00053 #endif 00054