RawDataBaseCnv Class Reference

#include <RawDataBaseCnv.h>

Inheritance diagram for RawDataBaseCnv:

Converter< Ty1, Ty2 > RawDataCnv RawDataDigiCnv RawDataEmcDigiCnv RawDataEmcMcHitCnv RawDataEvtHeaderCnv RawDataHltCnv RawDataHltRawCnv RawDataLumiDigiCnv RawDataMcCnv RawDataMcParticleCnv RawDataMdcDigiCnv RawDataMdcMcHitCnv RawDataMucDigiCnv RawDataMucMcHitCnv RawDataTofDigiCnv RawDataTofMcHitCnv RawDataTrigCnv RawDataTrigGTDCnv RawDataZddEventCnv List of all members.

Public Types

typedef Ty1 source
typedef Ty2 destination

Public Member Functions

 RawDataBaseCnv (ISvcLocator *svc)
 RawDataBaseCnv (unsigned char storageType, const CLID &clid, ISvcLocator *svc)
virtual ~RawDataBaseCnv ()
virtual long repSvcType () const
StatusCode initialize ()
virtual StatusCode finalize ()
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 createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)
 Convert the transient object to the requested representation.
virtual StatusCode fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
 Resolve the references of the converted 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.
destinationoperator (const source &) const

Static Public Member Functions

static const long storageType ()
static const CLID & classID ()

Protected Member Functions

virtual destinationconvert (const source &) const =0

Protected Attributes

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.

Detailed Description

class RawDataBaseCnv brief Base class for all GLAST EBF Converters.

Based on GLAST's EbfBaseCnv

Definition at line 25 of file RawDataBaseCnv.h.


Member Typedef Documentation

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

Definition at line 19 of file Converter.h.

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

Definition at line 18 of file Converter.h.


Constructor & Destructor Documentation

RawDataBaseCnv::RawDataBaseCnv ( ISvcLocator *  svc  ) 

Definition at line 15 of file RawDataBaseCnv.cxx.

00016 : Converter(Test_StorageType, classID(), svc)
00017                               , m_CnvSvc(0)  
00018 {}

RawDataBaseCnv::RawDataBaseCnv ( unsigned char  storageType,
const CLID &  clid,
ISvcLocator *  svc 
)

Definition at line 10 of file RawDataBaseCnv.cxx.

00011   : Converter((long)storageType, clid, svc), m_CnvSvc(0)  
00012 {}

virtual RawDataBaseCnv::~RawDataBaseCnv (  )  [inline, virtual]

Definition at line 37 of file RawDataBaseCnv.h.

00037 { };


Member Function Documentation

static const CLID& RawDataBaseCnv::classID (  )  [inline, static]

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

Definition at line 43 of file RawDataBaseCnv.h.

References CLID_EmcDigiCol.

00043 {return CLID_EmcDigiCol;};

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

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

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, and RawDataZddEventCnv.

Definition at line 21 of file RawDataBaseCnv.cxx.

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 
)

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

Definition at line 81 of file RawDataBaseCnv.cxx.

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 }

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

Resolve the references of the converted object.

Definition at line 29 of file RawDataBaseCnv.cxx.

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 }

StatusCode RawDataBaseCnv::finalize (  )  [virtual]

Definition at line 73 of file RawDataBaseCnv.cxx.

References m_CnvSvc.

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

StatusCode RawDataBaseCnv::initialize (  ) 

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

Definition at line 50 of file RawDataBaseCnv.cxx.

Referenced by RawDataTrigGTDCnv::init(), RawDataTrigCnv::init(), RawDataZddEventCnv::initialize(), RawDataTofMcHitCnv::initialize(), RawDataTofDigiCnv::initialize(), RawDataMucMcHitCnv::initialize(), RawDataMucDigiCnv::initialize(), RawDataMdcMcHitCnv::initialize(), RawDataMdcDigiCnv::initialize(), RawDataMcParticleCnv::initialize(), RawDataMcCnv::initialize(), RawDataLumiDigiCnv::initialize(), RawDataHltRawCnv::initialize(), RawDataHltCnv::initialize(), RawDataEvtHeaderCnv::initialize(), RawDataEmcMcHitCnv::initialize(), RawDataEmcDigiCnv::initialize(), RawDataDigiCnv::initialize(), and RawDataCnv::initialize().

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]

virtual long RawDataBaseCnv::repSvcType (  )  const [inline, virtual]

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

Definition at line 39 of file RawDataBaseCnv.h.

References Test_StorageType.

00039 { return Test_StorageType; }

static const long RawDataBaseCnv::storageType (  )  [inline, static]

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

Definition at line 41 of file RawDataBaseCnv.h.

References Test_StorageType.

00041 { return Test_StorageType; }

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

Update the converted representation of a transient object.

Definition at line 36 of file RawDataBaseCnv.cxx.

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 }

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

Update the references of an already converted object.

Definition at line 43 of file RawDataBaseCnv.cxx.

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 }


Member Data Documentation

IRawDataCnvSvc* RawDataBaseCnv::m_CnvSvc [protected]

Pointer to event conversion service interface.

Definition at line 28 of file RawDataBaseCnv.h.

Referenced by finalize().

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

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

Definition at line 30 of file RawDataBaseCnv.h.


Generated on Tue Nov 29 23:20:44 2016 for BOSS_7.0.2 by  doxygen 1.4.7