00001 #include "GetDetector.h" 00002 #include "MinosObjectMap/MomNavigator.h" 00003 #include "Validity/VldContext.h" 00004 #include "Record/RecMinos.h" 00005 #include "Record/RecRecordImp.h" 00006 #include "Record/RecCandHeader.h" 00007 00008 Detector::Detector_t DataUtil::GetDetector(const MomNavigator& mom) 00009 { 00010 const VldContext* vc = 0; 00011 RecMinos* rm = dynamic_cast<RecMinos*>(mom.GetFragment("RecMinos")); 00012 if (rm) vc = rm->GetVldContext(); 00013 else { 00014 RecRecordImp<RecCandHeader> *rr = 00015 dynamic_cast<RecRecordImp<RecCandHeader>*> 00016 (mom.GetFragment("RecRecordImp<RecCandHeader>")); 00017 if (rr) vc = &(rr->GetHeader().GetVldContext()); 00018 } 00019 if (!vc) return Detector::kUnknown; 00020 return vc->GetDetector(); 00021 }
1.3.9.1