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

In This Package:

RawDataObjectCnv.h

Go to the documentation of this file.
00001 #ifndef RawDataObjectCnv_H
00002 #define RawDataObjectCnv_H
00003 
00004 #include <string>
00005 #include "GaudiKernel/ClassID.h"
00006 #include "GaudiKernel/Converter.h"
00007 #include "GaudiKernel/ISvcLocator.h"
00008 #include "GaudiKernel/DataObject.h"
00009 #include "GaudiKernel/MsgStream.h"
00010 
00011 using namespace std;
00012 
00013 
00014 extern const long int RAWDATA_StorageType;
00015 
00016 class RawDataObjectCnv : public Converter
00017 {
00018 
00019 public:
00020    RawDataObjectCnv(ISvcLocator*&);
00021    RawDataObjectCnv(unsigned char storageType, const CLID& clid, ISvcLocator* svc);
00022 
00023    virtual ~RawDataObjectCnv() {}
00024 
00025    // Methods about StorageType and clid.
00026    virtual long repSvcType() const {
00027       return RAWDATA_StorageType;
00028    }
00029    static const long storageType() {
00030       return RAWDATA_StorageType;
00031    }
00032 
00033    static const CLID& classID()    {
00034       return DataObject::classID();
00035    }
00036 
00037 
00038    virtual StatusCode initialize();
00039    virtual StatusCode finalize();
00040 
00041    void declareObject(const string& fullPath, const CLID& clid, const string& bank, long par = 0);
00042 
00043    virtual StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddr);
00044    virtual StatusCode updateObj(IOpaqueAddress*, DataObject*);
00045    virtual StatusCode createObj(IOpaqueAddress*, DataObject*&);
00046 
00047    virtual StatusCode fillRepRefs(IOpaqueAddress* /* pAddr*/ , DataObject* /* pObject*/) {
00048       return StatusCode::SUCCESS;
00049    }
00050    virtual StatusCode updateRep(IOpaqueAddress* /* pAddress */ , DataObject* /* pObject*/) {
00051       return StatusCode::SUCCESS;
00052    }
00053    virtual StatusCode updateRepRefs(IOpaqueAddress* /* pAddress */ , DataObject* /* pObject*/) {
00054       return StatusCode::SUCCESS;
00055    }
00056 
00057 private:
00058    mutable MsgStream m_log;
00059 };
00060 
00061 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:27:02 2011 for RawDataIO by doxygen 1.4.7