00001 /* 00002 * \class RunDataCnv 00003 * 00004 * \brief RunData Converter 00005 * 00006 * dandwyer@caltech.edu 2009/04/26 00007 */ 00008 00009 #ifndef RUNDATACNV 00010 #define RUNDATACNV 1 00011 00012 #include "RootIOSvc/RootIOTypedCnv.h" 00013 00014 #include "Event/RunHeader.h" 00015 #include "Event/RunData.h" 00016 00017 #include "PerRunData/PerRunHeader.h" 00018 #include "PerRunData/PerRunData.h" 00019 00020 class RunHeaderCnv : public RootIOTypedCnv<PerRunHeader, 00021 DayaBay::RunHeader> 00022 { 00023 public: 00024 static const CLID& classID() { 00025 return DayaBay::CLID_RunHeader; 00026 } 00027 00028 RunHeaderCnv(ISvcLocator* svc); 00029 virtual ~RunHeaderCnv(); 00030 00033 StatusCode PerToTran(const PerRunHeader& perobj, 00034 DayaBay::RunHeader& tranobj); 00035 00038 StatusCode TranToPer(const DayaBay::RunHeader& tranobj, 00039 PerRunHeader& perobj); 00040 00041 StatusCode fillRepRefs(IOpaqueAddress* addr, DataObject* dobj); 00042 StatusCode fillObjRefs(IOpaqueAddress* addr, DataObject* dobj); 00043 00044 PerRunData* convert(const DayaBay::RunData& runData); 00045 00046 DayaBay::RunData* convert(const PerRunData& perRunData); 00047 00048 }; 00049 00050 #endif // RUNDATACNV