00001 /* 00002 * \class SimTrigHeaderCnv 00003 * 00004 * \brief SimTrigEvent <--> PerSimTrigEvent converter 00005 * 00006 * bseilhan@iit.edu Tue Sep 23 15:23:29 CDT 2008 00007 * 00008 */ 00009 00010 #ifndef SimTrigHeaderCnv_H 00011 #define SimTrigHeaderCnv_H 1 00012 00013 #include "RootIOSvc/RootIOTypedCnv.h" 00014 00015 #include "PerSimTrigEvent/PerSimTrigHeader.h" 00016 #include "PerSimTrigEvent/PerSimTrigCommandHeader.h" 00017 #include "PerSimTrigEvent/PerSimTrigCommandCollection.h" 00018 #include "PerSimTrigEvent/PerSimTrigCommand.h" 00019 00020 #include "Event/SimTrigHeader.h" 00021 #include "Event/SimTrigCommandHeader.h" 00022 #include "Event/SimTrigCommandCollection.h" 00023 #include "Event/SimTrigCommand.h" 00024 00025 class SimTrigHeaderCnv : public RootIOTypedCnv<PerSimTrigHeader, 00026 DayaBay::SimTrigHeader> 00027 { 00028 public: 00029 static const CLID& classID() { 00030 return DayaBay::CLID_SimTrigHeader; 00031 } 00032 00033 SimTrigHeaderCnv(ISvcLocator* svc); 00034 virtual ~SimTrigHeaderCnv(); 00035 00038 StatusCode PerToTran(const PerSimTrigHeader& perobj, 00039 DayaBay::SimTrigHeader& tranobj); 00040 00043 StatusCode TranToPer(const DayaBay::SimTrigHeader& tranobj, 00044 PerSimTrigHeader& perobj); 00045 00046 StatusCode fillRepRefs(IOpaqueAddress* addr, DataObject* dobj); 00047 StatusCode fillObjRefs(IOpaqueAddress* addr, DataObject* dobj); 00048 00049 PerSimTrigCommandHeader* convert(const DayaBay::SimTrigCommandHeader& trigCH); 00050 PerSimTrigCommandCollection* convert(const DayaBay::SimTrigCommandCollection& trigCC); 00051 PerSimTrigCommand* convert(const DayaBay::SimTrigCommand& trigCom); 00052 00053 DayaBay::SimTrigCommandHeader* convert(const PerSimTrigCommandHeader& PerSimTrigCH); 00054 DayaBay::SimTrigCommandCollection* convert(const PerSimTrigCommandCollection& PerSimTrigCC); 00055 DayaBay::SimTrigCommand* convert(const PerSimTrigCommand& PerSimTrigCom); 00056 00057 }; 00058 00059 #endif // SimTrigHeaderCnv_H