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

In This Package:

RandomHeaderCnv.cc

Go to the documentation of this file.
00001 #include "RandomHeaderCnv.h"
00002 #include "PerBaseEvent/HeaderObjectCnv.h"
00003 
00004 using namespace DayaBay;
00005 using namespace std;
00006 
00007 RandomHeaderCnv::RandomHeaderCnv(ISvcLocator* svc)
00008   : RootIOTypedCnv<PerRandomState,RandomHeader>("PerRandomState",classID(),svc)
00009 {
00010 }
00011 
00012 RandomHeaderCnv::~RandomHeaderCnv()
00013 {
00014 }
00015 
00016 //From Persistent to Transient
00017 StatusCode RandomHeaderCnv::PerToTran(const PerRandomState& perobj,DayaBay::RandomHeader& tranobj)
00018 {
00019     StatusCode sc = HeaderObjectCnv::toTran(perobj,tranobj);
00020     if(sc.isFailure()) return sc;
00021 
00022     MsgStream log(msgSvc(),"RandomHeaderCnv::PerToTran");
00023 
00024     //Set Engine
00025     tranobj.setHEPEngine(perobj.Engine);
00026     //Set Random Seeds
00027     tranobj.setRndmSeeds(perobj.RndmSeeds);
00028 
00029     return sc;
00030 }
00031 
00032 StatusCode RandomHeaderCnv::TranToPer(const DayaBay::RandomHeader& tranobj,PerRandomState& perobj )
00033 { 
00034     StatusCode sc = HeaderObjectCnv::toPer(tranobj,perobj);
00035     if(sc.isFailure()) return sc;
00036 
00037     MsgStream log(msgSvc(),"RandomHeaderCnv::TranToPer");
00038 
00039     //Set Engine
00040     perobj.Engine = tranobj.hepEngine();
00041     //Set Random Seeds
00042     perobj.RndmSeeds = tranobj.RndmSeeds();
00043  
00044     return sc;
00045 }
00046 
00047 StatusCode RandomHeaderCnv::fillRepRefs(IOpaqueAddress*, DataObject* dobj)
00048 {
00049     MsgStream log(msgSvc(), "RandomHeaderCnv::fillRepRefs");
00050     RandomHeader* gh = dynamic_cast<RandomHeader*>(dobj);
00051 
00052     log << MSG::DEBUG
00053         << "Got " << gh->inputHeaders().size() << " headers" << endreq;
00054 
00055 
00056     StatusCode sc = HeaderObjectCnv::fillPer(m_rioSvc,*gh,*m_perOutObj);
00057     if (sc.isFailure()) {
00058         log << MSG::ERROR << "Failed to fill RandomState part" << endreq;
00059         return sc;
00060     }
00061 
00062     // ... fill GenHeader part...
00063     return sc;
00064 }
00065 
00066 StatusCode RandomHeaderCnv::fillObjRefs(IOpaqueAddress*, DataObject* dobj)
00067 {
00068     MsgStream log(msgSvc(), "GenHeaderCnv::fillObjRefs");
00069     RandomHeader* hobj = dynamic_cast<RandomHeader*>(dobj);
00070     StatusCode sc = HeaderObjectCnv::fillTran(m_rioSvc,*m_perInObj,*hobj);
00071     if (sc.isFailure()) {
00072         log << MSG::ERROR << "Failed to fill RandomHeader part" << endreq;
00073         return sc;
00074     }
00075 
00076     log << MSG::INFO
00077         << "Got " << hobj->inputHeaders().size() << " headers" << endreq;
00078 
00079     // ... fill GenHeader part...
00080     return sc;
00081 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:19:15 2011 for PerRandomState by doxygen 1.4.7