00001 /* 00002 * \class SimReadoutEventCnv 00003 * 00004 * \brief SimReadoutEvent Converter 00005 * 00006 * Based on ReadoutEventCnv written by bseilhan@iit.edu 00007 * dandwyer@caltech.edu 2008/11/03 00008 */ 00009 00010 #ifndef SIMREADOUTEVENTCNV 00011 #define SIMREADOUTEVENTCNV 1 00012 00013 #include "RootIOSvc/RootIOTypedCnv.h" 00014 00015 #include "Event/SimReadoutHeader.h" 00016 #include "Event/SimReadout.h" 00017 00018 #include "PerReadoutEvent/PerSimReadoutHeader.h" 00019 #include "PerReadoutEvent/PerSimReadout.h" 00020 00021 class SimReadoutHeaderCnv : public RootIOTypedCnv<PerSimReadoutHeader, 00022 DayaBay::SimReadoutHeader> 00023 { 00024 public: 00025 static const CLID& classID() { 00026 return DayaBay::CLID_SimReadoutHeader; 00027 } 00028 00029 SimReadoutHeaderCnv(ISvcLocator* svc); 00030 virtual ~SimReadoutHeaderCnv(); 00031 00034 StatusCode PerToTran(const PerSimReadoutHeader& perobj, 00035 DayaBay::SimReadoutHeader& tranobj); 00036 00039 StatusCode TranToPer(const DayaBay::SimReadoutHeader& tranobj, 00040 PerSimReadoutHeader& perobj); 00041 00042 StatusCode fillRepRefs(IOpaqueAddress* addr, DataObject* dobj); 00043 StatusCode fillObjRefs(IOpaqueAddress* addr, DataObject* dobj); 00044 00045 PerSimReadout* convert(const DayaBay::SimReadout& simRo); 00046 00047 DayaBay::SimReadout* convert(const PerSimReadout& perSimRo); 00048 00049 private: 00050 bool m_saveSimReadouts; 00051 00052 }; 00053 00054 #endif // SIMREADOUTEVENTCNV