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

In This Package:

ElecHeaderCnv.h

Go to the documentation of this file.
00001 
00015 #ifndef ELECHEADERCNV_H
00016 #define ELECHEADERCNV_H
00017 
00018 #include "RootIOSvc/RootIOTypedCnv.h"
00019 
00020 #include "PerElecEvent/PerElecHeader.h"
00021 #include "PerElecEvent/PerElecCrate.h"
00022 #include "PerElecEvent/PerElecFeeChannel.h"
00023 #include "PerElecEvent/PerElecFecCrate.h"
00024 #include "PerElecEvent/PerElecFeeCrate.h"
00025 
00026 #include "Event/ElecHeader.h"
00027 #include "Event/ElecCrateHeader.h"
00028 #include "Event/ElecPulseHeader.h"
00029 #include "Event/ElecPulse.h"
00030 #include "Event/ElecPmtPulse.h"
00031 #include "Event/ElecRpcPulse.h"
00032 #include "Event/ElecCrate.h"
00033 #include "Event/ElecFecCrate.h"
00034 #include "Event/ElecFeeCrate.h"
00035 #include "Event/ElecFeeChannel.h"
00036 
00037 class ElecHeaderCnv : public RootIOTypedCnv<PerElecHeader,
00038                                            DayaBay::ElecHeader>
00039 {
00040 public:
00041     static const CLID& classID() {
00042         return DayaBay::CLID_ElecHeader;
00043     }
00044 
00045     ElecHeaderCnv(ISvcLocator* svc);
00046     virtual ~ElecHeaderCnv();
00047 
00048 
00051     StatusCode PerToTran(const PerElecHeader& tobj,
00052                          DayaBay::ElecHeader& dobj);
00053 
00056     StatusCode TranToPer(const DayaBay::ElecHeader& dobj,
00057                          PerElecHeader& tobj);
00058     
00059     StatusCode fillRepRefs(IOpaqueAddress* addr, DataObject* dobj);
00060     StatusCode fillObjRefs(IOpaqueAddress* addr, DataObject* dobj);
00061     
00062     PerElecCrateHeader*      convert(const DayaBay::ElecCrateHeader& transCH);
00063     PerElecPulseHeader*      convert(const DayaBay::ElecPulseHeader& transPH);                         
00064     PerElecCrate*            convert(const DayaBay::ElecCrate& transCrate);
00065     PerElecFeeChannel*       convert(const DayaBay::ElecFeeChannel& in_ch);
00066     PerElecFecCrate*         convert(const DayaBay::ElecFecCrate& transFecCrate);
00067     PerElecFeeCrate*         convert(const DayaBay::ElecFeeCrate& transFeeCrate);
00068     PerElecPulseCollection*  convert(const DayaBay::ElecPulseCollection& transPCol);
00069     PerElecPulse*            convert(const DayaBay::ElecPulse& transPulse);
00070     
00071     DayaBay::ElecCrateHeader*      convert(const PerElecCrateHeader& perCH);
00072     DayaBay::ElecPulseHeader*      convert(const PerElecPulseHeader& perPH);
00073     DayaBay::ElecCrate*            convert(const PerElecCrate& perCrate);
00074     DayaBay::ElecFeeChannel*       convert(const PerElecFeeChannel& perChannel);
00075     DayaBay::ElecFecCrate*         convert(const PerElecFecCrate& perFecCrate);
00076     DayaBay::ElecFeeCrate*         convert(const PerElecFeeCrate& perFeeCrate);
00077     DayaBay::ElecPulseCollection*  convert(const PerElecPulseCollection& perEPC);
00078     DayaBay::ElecPulse*            convert(const PerElecPulse& perEP);
00079 
00080  private:
00081     // Save pulse-level simulation data in output
00082     bool m_savePulseData;
00083     // Property: SaveChannelData
00084     // Save channel-level simulation data in output
00085     bool m_saveChannelData;
00086     // Property: SaveBoardData
00087     // Save board-level simulation data in output
00088     bool m_saveBoardData;
00089     
00090     // Save Crate level ESum data in output
00091     bool m_saveEsumData;
00092 
00093 };
00094 
00095 #endif  // ELECHEADERCNV_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:32:53 2011 for PerElecEvent by doxygen 1.4.7