00001
00002 #ifndef ROOTHISTCNV_H2DCNV_H
00003 #define ROOTHISTCNV_H2DCNV_H 1
00004
00005
00006
00007 #include "GaudiKernel/Converter.h"
00008
00009 #include <string>
00010
00011
00012 class ISvcLocator;
00013 class IHistogram2D;
00014 template <class TYPE> class CnvFactory;
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 namespace RootHistCnv {
00030
00031 class H2DCnv : public Converter {
00032
00033 friend class CnvFactory<H2DCnv>;
00034
00035 public:
00037 virtual StatusCode createObj( IOpaqueAddress* ,
00038 DataObject*& ) {
00039 return StatusCode::FAILURE;
00040 }
00041
00043 virtual StatusCode updateObj( IOpaqueAddress* ,
00044 DataObject* ) {
00045 return StatusCode::FAILURE;
00046 }
00047
00049 virtual StatusCode createRep( DataObject* ,
00050 IOpaqueAddress*& );
00051
00053 virtual StatusCode updateRep( IOpaqueAddress* ,
00054 DataObject* ) {
00055 return StatusCode::FAILURE;
00056 }
00057
00059 static const CLID& classID() {
00060 static CLID clid = CLID_H2D;
00061 return clid;
00062 }
00063
00065 static const unsigned char storageType() {
00066 return ROOT_StorageType;
00067 }
00068
00069 protected:
00070
00073 H2DCnv( ISvcLocator* svc )
00074 : Converter( storageType(), classID(), svc ) {
00075 }
00076
00078 virtual ~H2DCnv() {
00079 }
00080
00082 StatusCode write( std::string hid, IHistogram2D* h, IOpaqueAddress*& refpAddress );
00083 };
00084
00085 }
00086
00087 #endif // ROOTHISTCNV_H2DCNV_H