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

RawDataTrigGTDCnv Class Reference

#include <RawDataTrigGTDCnv.h>

Inheritance diagram for RawDataTrigGTDCnv:

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 init ()
StatusCode init ()
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 *)
virtual StatusCode updateObj (IOpaqueAddress *, DataObject *)
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
 RawDataTrigGTDCnv (ISvcLocator *svc)
 RawDataTrigGTDCnv (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
PackedRawDataCnvSvcm_RawDataAccess
PackedRawDataCnvSvcm_RawDataAccess

Friends

class CnvFactory<RawDataTrigGTDCnv>

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

RawDataTrigGTDCnv::RawDataTrigGTDCnv ISvcLocator *  svc  )  [protected]
 

00011                                                      :
00012 RawDataBaseCnv(PACKEDRAWEVENT_StorageType, classID(), svc)
00013 {
00014   init();
00015 }

RawDataTrigGTDCnv::RawDataTrigGTDCnv ISvcLocator *  svc  )  [protected]
 


Member Function Documentation

const CLID& RawDataTrigGTDCnv::classID  )  [static]
 

Reimplemented from RawDataBaseCnv.

const CLID & RawDataTrigGTDCnv::classID  )  [static]
 

Reimplemented from RawDataBaseCnv.

00019 {
00020   return CLID_TrigGTDCol;
00021 }

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

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

00067 {
00068   MsgStream log(msgSvc(), "RawDataTrigGTDCnv");
00069   RawDataAddress* pEFAddr;
00070 
00071   RAWEVENT* evt;
00072   TrigGTD*  trigGTD;
00073 
00074   TrigGTDCol* gtdCol = new TrigGTDCol;
00075   pObj = gtdCol;
00076 
00077   evt = m_inputSvc->currentEvent();
00078   if (evt == NULL) {
00079     log << MSG::ERROR << "RawDataTrigGTDCnv::createObj has no event!" << endreq;
00080     return StatusCode::FAILURE;
00081   }
00082 
00083   const BufferHolder& gtdBuf = evt->getGTDBuf();
00084   uint32_t nbuf = gtdBuf.nBuf();
00085 
00086   for (uint32_t i = 0; i < nbuf; i++) {
00087     uint32_t* buf = gtdBuf(i);
00088     uint32_t bufSize = gtdBuf.bufSize(i);
00089     uint32_t index = 0;
00090     while (bufSize - index > 1) {
00091       uint32_t blockSize = ( ((*(buf+index))>>14) & 0x3FF);
00092       uint32_t id = ((*(buf+index))>>24);
00093       if (blockSize == 0 || (index+blockSize) > bufSize) break;
00094       if ((id> 0xD1 && id < 0xD8 && id != 0xD5) || id == 0xDA || (id > 0xE1 && id < 0xED)) {
00095         trigGTD = new TrigGTD(buf+index);
00096         gtdCol->push_back(trigGTD);
00097       }
00098       index += blockSize;
00099     }
00100   }
00101 
00102   return StatusCode::SUCCESS;
00103 }

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

Convert the transient object to the requested representation.

Reimplemented from RawDataBaseCnv.

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

Convert the transient object to the requested representation.

Reimplemented from RawDataBaseCnv.

00106 {
00107   MsgStream log(messageService(), "RawDataTrigGTDCnv");
00108 
00109   return StatusCode::SUCCESS;
00110 }

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 RawDataTrigGTDCnv::init  ) 
 

StatusCode RawDataTrigGTDCnv::init  ) 
 

00024 {
00025   StatusCode sc = RawDataBaseCnv::initialize();
00026   if (sc.isFailure()) {
00027     return sc;
00028   }
00029 
00030   MsgStream log(messageService(), "RawDataTrigGTDCnv");
00031 
00032   IService* isvc = 0;
00033   StatusCode status = serviceLocator()->service("PackedRawDataCnvSvc", isvc, true);
00034 
00035   m_RawDataAccess = dynamic_cast<PackedRawDataCnvSvc*> (isvc);
00036   if (m_RawDataAccess == 0) {
00037     log << MSG::ERROR << "RawDataTrigGTDCnv: Cant cast to RawDataCnvSvc" << endreq;
00038     return StatusCode::FAILURE;
00039   }
00040 
00041   if (m_RawDataAccess) log << MSG::INFO << "RawDataCnvSvc retrieved" << endreq;
00042 
00043   IService* svc;
00044   sc = serviceLocator()->getService("RawDataInputSvc", svc);
00045   if (sc.isFailure()) {
00046     log << MSG::WARNING << "Cant get RawDataInputSvc" << endreq;
00047     return sc;
00048   }
00049 
00050   m_inputSvc = dynamic_cast<RawDataInputSvc*> (svc);
00051   if (m_inputSvc == 0) {
00052     log << MSG::WARNING << "Cant cast to RawDataInputSvc" << endreq;
00053     return StatusCode::FAILURE;
00054   }
00055 
00056   return StatusCode::SUCCESS;
00057 }

StatusCode RawDataBaseCnv::initialize  )  [inherited]
 

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

StatusCode RawDataBaseCnv::initialize  )  [inherited]
 

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

00050                                         {
00051     // Purpose and Method:  Perform standard converter initialization.
00052     //   Access the EventCnvSvc to create an association between converters 
00053     //   and paths within the TDS, using the vector of leaves and the
00054     //   declareObject methods available in each specific converter.
00055     StatusCode status = Converter::initialize();
00056     /*
00057     if ( status.isSuccess() )   {
00058         IService* isvc = 0;
00059         status = serviceLocator()->service(cnvSvcName, isvc, true);        
00060         if ( status.isSuccess() )   {
00061             status = isvc->queryInterface(IID_IRawDataBaseCnv, (void**)&m_CnvSvc);
00062             if ( status.isSuccess() )   {
00063                 for ( std::vector<IRawDataCnvSvc::Leaf>::iterator i = m_leaves.begin(); i != m_leaves.end(); i++ )    {
00064                     m_CnvSvc->declareObject(*i);
00065                 }
00066             }
00067         }
00068     }
00069     */
00070     return status;
00071 }

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

Reimplemented from RawDataBaseCnv.

00035                                   {
00036     return PACKEDRAWEVENT_StorageType;
00037   }

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

Reimplemented from RawDataBaseCnv.

00035                                   {
00036     return PACKEDRAWEVENT_StorageType;
00037   }

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

Reimplemented from RawDataBaseCnv.

00039                                            {
00040     return PACKEDRAWEVENT_StorageType;
00041   }

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

Reimplemented from RawDataBaseCnv.

00039                                            {
00040     return PACKEDRAWEVENT_StorageType;
00041   }

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

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

00059                                                                                {
00060   MsgStream log(msgSvc(), "RawDataTrigGTDCnv");
00061   log << MSG::DEBUG << "RawDataTrigGTDCnv::updateObj" << endreq;
00062   return Converter::updateObj(pAddr, pObj);
00063 }

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

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

PackedRawDataCnvSvc* RawDataTrigGTDCnv::m_RawDataAccess [private]
 

PackedRawDataCnvSvc* RawDataTrigGTDCnv::m_RawDataAccess [private]
 


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