| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

ReadoutEventCnv.h

Go to the documentation of this file.
00001 /*
00002  * \class ReadoutEventCnv
00003  *
00004  * \brief ReadoutEvent Converter
00005  *
00006  * bseilhan@iit.edu Tue Oct  7 11:44:19 PDT 2008
00007  *
00008  */
00009 
00010 #ifndef READOUTEVENTCNV
00011 #define READOUTEVENTCNV 1
00012 
00013 #include "RootIOSvc/RootIOTypedCnv.h"
00014 
00015 #include "DaqReadoutFormat/DaqBuffer.h"
00016 
00017 #include "Event/ReadoutHeader.h"
00018 #include "Event/Readout.h"
00019 #include "Event/ReadoutPmtChannel.h"
00020 #include "Event/ReadoutPmtCrate.h"
00021 #include "Event/ReadoutRpcChannel.h"
00022 #include "Event/ReadoutRpcCrate.h"
00023 #include "Event/ReadoutTriggerDataPkg.h"
00024 #include "Event/ReadoutTriggerDataFrame.h"
00025 
00026 #include "PerReadoutEvent/PerReadoutHeader.h"
00027 #include "PerReadoutEvent/PerReadout.h"
00028 #include "PerReadoutEvent/PerReadoutPmtChannel.h"
00029 #include "PerReadoutEvent/PerReadoutPmtCrate.h"
00030 #include "PerReadoutEvent/PerReadoutRpcChannel.h"
00031 #include "PerReadoutEvent/PerReadoutRpcCrate.h"
00032 #include "PerReadoutEvent/PerReadoutTriggerDataPkg.h"
00033 #include "PerReadoutEvent/PerReadoutTriggerDataFrame.h"
00034 
00035 namespace DayaBay {
00036     class DaqCrate;
00037 }
00038 
00039 class ReadoutHeaderCnv : public RootIOTypedCnv<PerReadoutHeader,
00040                                                   DayaBay::ReadoutHeader>
00041 {
00042 public:
00043   static const CLID& classID() {
00044     return DayaBay::CLID_ReadoutHeader;
00045   }
00046   
00047   ReadoutHeaderCnv(ISvcLocator* svc);
00048   virtual ~ReadoutHeaderCnv();
00049 
00052   StatusCode PerToTran(const PerReadoutHeader& perobj,
00053                        DayaBay::ReadoutHeader& tranobj);
00054 
00057   StatusCode TranToPer(const DayaBay::ReadoutHeader& tranobj,
00058                        PerReadoutHeader& perobj);
00059 
00060   StatusCode fillRepRefs(IOpaqueAddress* addr, DataObject* dobj);
00061   StatusCode fillObjRefs(IOpaqueAddress* addr, DataObject* dobj);
00062                        
00063   PerReadout* convert(const DayaBay::Readout& roRo);
00064   PerReadoutPmtCrate* convert(const DayaBay::ReadoutPmtCrate& roPmtCrate);
00065   PerReadoutPmtChannel* convert(const DayaBay::ReadoutPmtChannel& roPmtChannel);
00066   PerReadoutTriggerDataPkg* convert(const DayaBay::ReadoutTriggerDataPkg& roPmtTDP);
00067   PerReadoutTriggerDataFrame* convert(const DayaBay::ReadoutTriggerDataFrame& roPmtTDF);
00068 //  PerReadoutRpcCrate* convert(const DayaBay::ReadoutRpcCrate& roRpcCrate);
00069 //  PerReadoutRpcChannel* convert(const DayaBay::ReadoutRpcChannel& rpRpcChannel);
00070   
00071   DayaBay::Readout*           convert(const PerReadout& perRo);
00072   DayaBay::ReadoutPmtCrate*   convert(const PerReadoutPmtCrate& perRoPcr);
00073   DayaBay::ReadoutPmtChannel  convert(const PerReadoutPmtChannel& perRoPch);
00074   DayaBay::ReadoutTriggerDataPkg* convert(const PerReadoutTriggerDataPkg& perRoPmtTDP);
00075   DayaBay::ReadoutTriggerDataFrame* convert(const PerReadoutTriggerDataFrame& perToPmtTDF);
00076 //  DayaBay::ReadoutRpcCrate*   convert(const PerReadoutRpcCrate& perRoRcr);
00077 //  DayaBay::ReadoutRpcChannel  convert(const PerReadoutRpcChannel& perRoRch);
00078   
00079   bool m_writefadc;
00080 
00081  private:
00082 
00083   StatusCode TranToPer(const DayaBay::DaqCrate& tranobj,
00084                        PerReadoutHeader& perobj);
00085 
00089   DybDaq::DaqBuffer::OutputBufferList* m_buffers;
00090   
00091 };
00092 
00093 #endif // READOUTEVENTCNV
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:30:32 2011 for PerReadoutEvent by doxygen 1.4.7