Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

RawDataEvtHeaderCnv Class Reference

#include <RawDataEvtHeaderCnv.h>

Inheritance diagram for RawDataEvtHeaderCnv:

RawDataBaseCnv RawDataBaseCnv Converter< Ty1, Ty2 > Converter< Ty1, Ty2 > Converter< Ty1, Ty2 > Converter< Ty1, Ty2 > List of all members.

Public Types

typedef Ty2 destination
typedef Ty2 destination
typedef Ty1 source
typedef Ty1 source

Public Member Functions

StatusCode createObj (IOpaqueAddress *pAddr, DataObject *&pObj)
StatusCode createObj (IOpaqueAddress *pAddr, DataObject *&pObj)
virtual StatusCode createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)
 Convert the transient object to the requested representation.
virtual StatusCode createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)
 Convert the transient object to the requested representation.
void declareObject (const std::string &fullPath, const CLID &clid, const std::string &bank, long par=0)
 Store TDS path to link a particular converter to an object on the TDS.
void declareObject (const std::string &fullPath, const CLID &clid, const std::string &bank, long par=0)
 Store TDS path to link a particular converter to an object on the TDS.
virtual StatusCode fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
 Resolve the references of the converted object.
virtual StatusCode fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
 Resolve the references of the converted object.
virtual StatusCode finalize ()
virtual StatusCode finalize ()
StatusCode initialize ()
StatusCode initialize ()
destinationoperator (const source &) const
destinationoperator (const source &) const
virtual long repSvcType () const
virtual long repSvcType () const
virtual StatusCode updateObj (IOpaqueAddress *, DataObject *)
 override the RawDataBaseCnv version
virtual StatusCode updateObj (IOpaqueAddress *, DataObject *)
 override the RawDataBaseCnv version
virtual StatusCode updateRep (IOpaqueAddress *pAddress, DataObject *pObject)
 Update the converted representation of a transient object.
virtual StatusCode updateRep (IOpaqueAddress *pAddress, DataObject *pObject)
 Update the converted representation of a transient object.
virtual StatusCode updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
 Update the references of an already converted object.
virtual StatusCode updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
 Update the references of an already converted object.

Static Public Member Functions

const CLID & classID ()
const CLID & classID ()
const unsigned char storageType ()
const unsigned char storageType ()

Protected Member Functions

virtual destinationconvert (const source &) const =0
virtual destinationconvert (const source &) const =0
 RawDataEvtHeaderCnv (ISvcLocator *svc)
 RawDataEvtHeaderCnv (ISvcLocator *svc)

Protected Attributes

IRawDataCnvSvcm_CnvSvc
 Pointer to event conversion service interface.
IRawDataCnvSvcm_CnvSvc
 Pointer to event conversion service interface.
std::vector< IRawDataCnvSvc::Leafm_leaves
 Leaf objects giving the locations of the objects in the data store.
std::vector< IRawDataCnvSvc::Leafm_leaves
 Leaf objects giving the locations of the objects in the data store.

Private Attributes

IRawDataInputSvcm_inputSvc
IRawDataInputSvcm_inputSvc
IRawDataCnvSvcm_RawDataAccess
 Define the interface to raw data cnv.
IRawDataCnvSvcm_RawDataAccess
 Define the interface to raw data cnv.

Friends

class CnvFactory<RawDataEvtHeaderCnv>

Member Typedef Documentation

template<class Ty1, class Ty2>
typedef Ty2 Converter< Ty1, Ty2 >::destination [inherited]
 

template<class Ty1, class Ty2>
typedef Ty2 Converter< Ty1, Ty2 >::destination [inherited]
 

template<class Ty1, class Ty2>
typedef Ty1 Converter< Ty1, Ty2 >::source [inherited]
 

template<class Ty1, class Ty2>
typedef Ty1 Converter< Ty1, Ty2 >::source [inherited]
 


Constructor & Destructor Documentation

RawDataEvtHeaderCnv::RawDataEvtHeaderCnv ISvcLocator *  svc  )  [protected]
 

00015                                                          :
00016   RawDataBaseCnv(PACKEDRAWEVENT_StorageType, classID(), svc)
00017 {
00018   // for Mutil-thread by tianhl
00019   //init();
00020   // for Mutil-thread by tianhl
00021 }

RawDataEvtHeaderCnv::RawDataEvtHeaderCnv ISvcLocator *  svc  )  [protected]
 


Member Function Documentation

const CLID& RawDataEvtHeaderCnv::classID  )  [static]
 

Reimplemented from RawDataBaseCnv.

const CLID & RawDataEvtHeaderCnv::classID  )  [static]
 

Reimplemented from RawDataBaseCnv.

00073 {
00074   return CLID_EventHeader;
00075 }

template<class Ty1, class Ty2>
virtual destination* Converter< Ty1, Ty2 >::convert const source  )  const [protected, pure virtual, inherited]
 

template<class Ty1, class Ty2>
virtual destination* Converter< Ty1, Ty2 >::convert const source  )  const [protected, pure virtual, inherited]
 

StatusCode RawDataEvtHeaderCnv::createObj IOpaqueAddress *  pAddr,
DataObject *&  pObj
 

StatusCode RawDataEvtHeaderCnv::createObj IOpaqueAddress *  pAddr,
DataObject *&  pObj
 

00085 {
00086    StatusCode sc;
00087    RawDataAddress *pEFAddr;
00088    const RAWEVENT *evt;
00089 
00090    Event::EventHeader *header = new Event::EventHeader();
00091    pObj = header;
00092 
00093    //if ( (pEFAddr = dynamic_cast<RawDataAddress*>(pAddr)) ) {
00094      evt = m_inputSvc->currentEvent();
00095      
00096      if (evt == NULL) return StatusCode::FAILURE;
00097 
00098      header->setEventNumber(evt->eventHeader().event_number());
00099      header->setRunNumber(evt->eventHeader().run_number());
00100      header->setTime(evt->eventHeader().time());
00101      header->setFlag1( evt->eventHeader().flag1() );
00102      //header->setFlag2( evt->eventHeader().flag2() );
00103 
00104      
00105    return StatusCode::SUCCESS;
00106    //}
00107    //else {
00108    //  return StatusCode::FAILURE;
00109    //}
00110 
00111 }

virtual StatusCode RawDataBaseCnv::createRep DataObject *  pObject,
IOpaqueAddress *&  refpAddress
[virtual, inherited]
 

Convert the transient object to the requested representation.

Reimplemented in RawDataCnv, RawDataDigiCnv, RawDataEmcDigiCnv, RawDataEmcMcHitCnv, RawDataHltCnv, RawDataHltRawCnv, RawDataLumiDigiCnv, RawDataMcCnv, RawDataMcParticleCnv, RawDataMdcDigiCnv, RawDataMdcMcHitCnv, RawDataMucDigiCnv, RawDataMucMcHitCnv, RawDataTofDigiCnv, RawDataTofMcHitCnv, RawDataTrigCnv, RawDataTrigGTDCnv, RawDataCnv, RawDataDigiCnv, RawDataEmcDigiCnv, RawDataEmcMcHitCnv, RawDataHltCnv, RawDataHltRawCnv, RawDataLumiDigiCnv, RawDataMcCnv, RawDataMcParticleCnv, RawDataMdcDigiCnv, RawDataMdcMcHitCnv, RawDataMucDigiCnv, RawDataMucMcHitCnv, RawDataTofDigiCnv, RawDataTofMcHitCnv, RawDataTrigCnv, and RawDataTrigGTDCnv.

StatusCode RawDataBaseCnv::createRep DataObject *  pObject,
IOpaqueAddress *&  refpAddress
[virtual, inherited]
 

Convert the transient object to the requested representation.

Reimplemented in RawDataCnv, RawDataDigiCnv, RawDataEmcDigiCnv, RawDataEmcMcHitCnv, RawDataHltCnv, RawDataHltRawCnv, RawDataLumiDigiCnv, RawDataMcCnv, RawDataMcParticleCnv, RawDataMdcDigiCnv, RawDataMdcMcHitCnv, RawDataMucDigiCnv, RawDataMucMcHitCnv, RawDataTofDigiCnv, RawDataTofMcHitCnv, RawDataTrigCnv, RawDataTrigGTDCnv, RawDataCnv, RawDataDigiCnv, RawDataEmcDigiCnv, RawDataEmcMcHitCnv, RawDataHltCnv, RawDataHltRawCnv, RawDataLumiDigiCnv, RawDataMcCnv, RawDataMcParticleCnv, RawDataMdcDigiCnv, RawDataMdcMcHitCnv, RawDataMucDigiCnv, RawDataMucMcHitCnv, RawDataTofDigiCnv, RawDataTofMcHitCnv, RawDataTrigCnv, and RawDataTrigGTDCnv.

00022                                                    {
00023     // Purpose and Method: Convert the transient object to the requested 
00024     //     representation.  It is expected that derived classes will override
00025     //     this method.
00026     return StatusCode::SUCCESS;
00027 }

void RawDataBaseCnv::declareObject const std::string &  fullPath,
const CLID &  clid,
const std::string &  bank,
long  par = 0
[inherited]
 

Store TDS path to link a particular converter to an object on the TDS.

void RawDataBaseCnv::declareObject const std::string &  fullPath,
const CLID &  clid,
const std::string &  bank,
long  par = 0
[inherited]
 

Store TDS path to link a particular converter to an object on the TDS.

00082                                                                       {
00083     // Purpose and Method:  Save the path on the TDS, in the m_leaves vector, 
00084     //   corresponding to the DataObject that the converter handles.
00085     // m_leaves.push_back(IRawDataCnvSvc::Leaf(path, cl, bank, par));
00086 }

virtual StatusCode RawDataBaseCnv::fillRepRefs IOpaqueAddress *  pAddress,
DataObject *  pObject
[virtual, inherited]
 

Resolve the references of the converted object.

StatusCode RawDataBaseCnv::fillRepRefs IOpaqueAddress *  pAddress,
DataObject *  pObject
[virtual, inherited]
 

Resolve the references of the converted object.

00030                                                  {
00031     // Purpose and Method:  Resolve the references of the converted object.
00032     //     It is expected that derived classes will override this method.
00033     return StatusCode::SUCCESS;
00034 }

virtual StatusCode RawDataBaseCnv::finalize  )  [virtual, inherited]
 

StatusCode RawDataBaseCnv::finalize  )  [virtual, inherited]
 

00073                                       {
00074     if ( m_CnvSvc )     {
00075         m_CnvSvc->release();
00076         m_CnvSvc = 0;
00077     }
00078     return Converter::finalize();
00079 }

StatusCode RawDataEvtHeaderCnv::initialize  ) 
 

Reimplemented from RawDataBaseCnv.

StatusCode RawDataEvtHeaderCnv::initialize  ) 
 

Reimplemented from RawDataBaseCnv.

00024 {
00025   StatusCode sc = RawDataBaseCnv::initialize();
00026   if ( sc.isFailure() ) return sc;
00027 
00028   std::string PackedRawDataCnvSvc_Name("PackedRawDataCnvSvc");
00029   std::string RawDataInputSvc_Name("RawDataInputSvc");
00030   std::string RawDataEvtHeaderCnv_Name("RawDataEvtHeaderCnv");
00031   
00032   // for Mutil-thread by tianhl
00033   ConversionSvc*  pCnvSvc = 0;
00034   if (pCnvSvc = dynamic_cast<ConversionSvc*>(conversionSvc())){
00035     if  (isGaudiThreaded(pCnvSvc->name())){
00036       PackedRawDataCnvSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
00037       RawDataInputSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
00038       RawDataEvtHeaderCnv_Name += getGaudiThreadIDfromName(pCnvSvc->name());
00039     }
00040   }
00041   // for Mutil-thread by tianhl
00042   MsgStream log(messageService(), RawDataEvtHeaderCnv_Name.c_str());
00043 
00044   IService* svc = 0;
00045   sc = serviceLocator()->service(PackedRawDataCnvSvc_Name.c_str(), svc);
00046   if ( sc.isFailure() ) {
00047     log << MSG::ERROR << "Can't get RawDataAccess interface" << endreq;
00048     return StatusCode::FAILURE;
00049   }
00050 
00051   m_RawDataAccess = dynamic_cast<PackedRawDataCnvSvc*> (svc);
00052   if (m_RawDataAccess  == 0 ) {
00053     log << MSG::ERROR << "RawDataEvtHeaderCnv: Cant cast to RawDataCnvSvc" << endreq;
00054     return StatusCode::FAILURE;
00055   }
00056 
00057   sc = serviceLocator()->getService(RawDataInputSvc_Name.c_str(), svc);
00058   if ( sc.isFailure() ) {
00059     log << MSG::WARNING << "Cant get RawDataInputSvc " << endreq;
00060     return sc ;
00061   }
00062 
00063   m_inputSvc = dynamic_cast<RawDataInputSvc*> (svc);
00064   if ( m_inputSvc == 0 ) {
00065     log << MSG::ERROR << "Cant cast to RawDataInputSvc" << endreq;
00066     return StatusCode::FAILURE ;
00067   }
00068 
00069   return StatusCode::SUCCESS;
00070 }

template<class Ty1, class Ty2>
destination* Converter< Ty1, Ty2 >::operator const source  )  const [inline, inherited]
 

template<class Ty1, class Ty2>
destination* Converter< Ty1, Ty2 >::operator const source  )  const [inline, inherited]
 

virtual long RawDataEvtHeaderCnv::repSvcType  )  const [inline, virtual]
 

Reimplemented from RawDataBaseCnv.

00032                                    {
00033      return PACKEDRAWEVENT_StorageType;
00034    }

virtual long RawDataEvtHeaderCnv::repSvcType  )  const [inline, virtual]
 

Reimplemented from RawDataBaseCnv.

00032                                    {
00033      return PACKEDRAWEVENT_StorageType;
00034    }

const unsigned char RawDataEvtHeaderCnv::storageType  )  [inline, static]
 

Reimplemented from RawDataBaseCnv.

00036                                             {
00037      return PACKEDRAWEVENT_StorageType;
00038    }

const unsigned char RawDataEvtHeaderCnv::storageType  )  [inline, static]
 

Reimplemented from RawDataBaseCnv.

00036                                             {
00037      return PACKEDRAWEVENT_StorageType;
00038    }

virtual StatusCode RawDataEvtHeaderCnv::updateObj IOpaqueAddress *  ,
DataObject * 
[virtual]
 

override the RawDataBaseCnv version

StatusCode RawDataEvtHeaderCnv::updateObj IOpaqueAddress *  ,
DataObject * 
[virtual]
 

override the RawDataBaseCnv version

00077                                                                                  {
00078   //MsgStream log(msgSvc(), "RawDataEvtHeaderCnv");
00079   //log << MSG::DEBUG << "RawDataEvtHeaderCnv::updateObj" << endreq;
00080   return Converter::updateObj(pAddr, pObj);
00081 }

virtual StatusCode RawDataBaseCnv::updateRep IOpaqueAddress *  pAddress,
DataObject *  pObject
[virtual, inherited]
 

Update the converted representation of a transient object.

StatusCode RawDataBaseCnv::updateRep IOpaqueAddress *  pAddress,
DataObject *  pObject
[virtual, inherited]
 

Update the converted representation of a transient object.

00037                                               {
00038     // Purpose and Method:  Update the converted representation of a transient 
00039     //     object.  It is expected that derived classes will override this.
00040     return StatusCode::SUCCESS;
00041 }

virtual StatusCode RawDataBaseCnv::updateRepRefs IOpaqueAddress *  pAddress,
DataObject *  pObject
[virtual, inherited]
 

Update the references of an already converted object.

StatusCode RawDataBaseCnv::updateRepRefs IOpaqueAddress *  pAddress,
DataObject *  pObject
[virtual, inherited]
 

Update the references of an already converted object.

00044                                                 {
00045     // Purpose and Method:  Update the references of an already converted object.
00046     //   It is expected that derived classes will override this method.
00047     return StatusCode::SUCCESS;
00048 }


Friends And Related Function Documentation

CnvFactory<RawDataEvtHeaderCnv> [friend]
 


Member Data Documentation

IRawDataCnvSvc* RawDataBaseCnv::m_CnvSvc [protected, inherited]
 

Pointer to event conversion service interface.

IRawDataCnvSvc* RawDataBaseCnv::m_CnvSvc [protected, inherited]
 

Pointer to event conversion service interface.

IRawDataInputSvc* RawDataEvtHeaderCnv::m_inputSvc [private]
 

IRawDataInputSvc* RawDataEvtHeaderCnv::m_inputSvc [private]
 

std::vector<IRawDataCnvSvc::Leaf> RawDataBaseCnv::m_leaves [protected, inherited]
 

Leaf objects giving the locations of the objects in the data store.

std::vector<IRawDataCnvSvc::Leaf> RawDataBaseCnv::m_leaves [protected, inherited]
 

Leaf objects giving the locations of the objects in the data store.

IRawDataCnvSvc* RawDataEvtHeaderCnv::m_RawDataAccess [private]
 

Define the interface to raw data cnv.

IRawDataCnvSvc* RawDataEvtHeaderCnv::m_RawDataAccess [private]
 

Define the interface to raw data cnv.


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:42:23 2011 for BOSS6.5.5 by  doxygen 1.3.9.1