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