00001 #ifndef VCollectionStreamer_h
00002 #define VCollectionStreamer_h
00003
00004 #ifdef USE_CONDDB
00005
00006
00007 #include "lccd.h"
00008
00009
00010 #include "lcio.h"
00011 #include "EVENT/LCCollection.h"
00012
00013
00014 #include "ConditionsDB/ICondDBStreamable.h"
00015
00016 #include <iostream>
00017
00018 namespace lccd {
00019
00020
00027 class VCollectionStreamer : public ICondDBStreamable {
00028
00029 public:
00030
00031 VCollectionStreamer() : _col(0) {}
00032
00033 virtual ~VCollectionStreamer() {} ;
00034
00035
00038 virtual void setCollection( lcio::LCCollection* col) { _col = col ; } ;
00039
00043 virtual lcio::LCCollection* getCollection() { return _col ; }
00044
00048 virtual VCollectionStreamer* create()=0 ;
00049
00050
00051 protected:
00052
00055 virtual void writeParameters( std::string& s ) const ;
00056
00059 virtual unsigned readParameters( const std::string& s , unsigned index ) ;
00060
00061 lcio::LCCollection* _col ;
00062 };
00063
00064 } ;
00065
00066 #endif // USE_CONDDB
00067 #endif // VCollectionStreamer_h