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

RawDataCnv Class Reference

#include <RawDataCnv.h>

Inheritance diagram for RawDataCnv:

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 *pObj, IOpaqueAddress *&pAddr)
 Convert the transient object to the requested representation.
virtual StatusCode createRep (DataObject *pObj, IOpaqueAddress *&pAddr)
 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
 RawDataCnv (ISvcLocator *svc)
 RawDataCnv (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

Friends

class CnvFactory<RawDataCnv>

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

RawDataCnv::RawDataCnv ISvcLocator *  svc  )  [protected]
 

00027                                        : 
00028 RawDataBaseCnv(PACKEDRAWEVENT_StorageType, classID(), svc) 
00029 {
00030     //init();
00031 }

RawDataCnv::RawDataCnv ISvcLocator *  svc  )  [protected]
 


Member Function Documentation

const CLID& RawDataCnv::classID  )  [static]
 

Reimplemented from RawDataBaseCnv.

const CLID & RawDataCnv::classID  )  [static]
 

Reimplemented from RawDataBaseCnv.

00082 {
00083     return CLID_Event;
00084 }

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 RawDataCnv::createObj IOpaqueAddress *  pAddr,
DataObject *&  pObj
 

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

00097 {
00098   RawDataAddress *pEFAddr;
00099   const RAWEVENT *evt;
00100 
00101   Event::EventH * evh = new Event::EventH();
00102   pObj = evh;
00103 
00104   if ( (pEFAddr = dynamic_cast<RawDataAddress*>(pAddr)) ) {
00105     evt = m_inputSvc->currentEvent();
00106     if (evt == NULL) return StatusCode::FAILURE;
00107     return StatusCode::SUCCESS;
00108   }
00109   else {
00110     return StatusCode::FAILURE;
00111   }
00112 }

virtual StatusCode RawDataCnv::createRep DataObject *  pObj,
IOpaqueAddress *&  pAddr
[virtual]
 

Convert the transient object to the requested representation.

Reimplemented from RawDataBaseCnv.

StatusCode RawDataCnv::createRep DataObject *  pObj,
IOpaqueAddress *&  pAddr
[virtual]
 

Convert the transient object to the requested representation.

Reimplemented from RawDataBaseCnv.

00115 {
00116   Event::EventH * evh=dynamic_cast<Event::EventH *> (pObj);
00117   if (!evh) {
00118     std::string RawDataCnv_Name("RawDataCnv");
00119     ConversionSvc*  pCnvSvc = 0;
00120     if (pCnvSvc = dynamic_cast<ConversionSvc*>(conversionSvc())){
00121       if  (isGaudiThreaded(pCnvSvc->name())){
00122         RawDataCnv_Name += getGaudiThreadIDfromName(pCnvSvc->name());
00123       }
00124     }
00125     MsgStream log(msgSvc(), RawDataCnv_Name.c_str());
00126     log << MSG::DEBUG << "RawDataCnv::createRep()" << endreq;
00127 
00128     log << MSG::ERROR << "Could not downcast Event" << endreq;
00129     return StatusCode::FAILURE;
00130   }
00131   // nothing to do, will be done in lower converters
00132   return StatusCode::SUCCESS;
00133 }

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 RawDataCnv::initialize  ) 
 

Reimplemented from RawDataBaseCnv.

StatusCode RawDataCnv::initialize  ) 
 

Reimplemented from RawDataBaseCnv.

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

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 RawDataCnv::repSvcType  )  const [inline, virtual]
 

Reimplemented from RawDataBaseCnv.

00044                                    {
00045        return PACKEDRAWEVENT_StorageType;
00046    }

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

Reimplemented from RawDataBaseCnv.

00044                                    {
00045        return PACKEDRAWEVENT_StorageType;
00046    }

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

Reimplemented from RawDataBaseCnv.

00048                                             {
00049        return PACKEDRAWEVENT_StorageType;
00050    }

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

Reimplemented from RawDataBaseCnv.

00048                                             {
00049        return PACKEDRAWEVENT_StorageType;
00050    }

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

override the RawDataBaseCnv version

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

override the RawDataBaseCnv version

00086                                                                         {
00087     // Purpose and Method:  This method does nothing other than announce it has
00088     //   been called.
00089 
00090     //MsgStream log(msgSvc(), "RawDataCnv");
00091     //log << MSG::DEBUG << "RawDataCnv::updateObj" << endreq;
00092     return Converter::updateObj(pAddr, pObj);
00093 }

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<RawDataCnv> [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* RawDataCnv::m_inputSvc [private]
 

IRawDataInputSvc* RawDataCnv::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.


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