00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _IEventCnvSvc_H
00011 #define _IEventCnvSvc_H 1
00012
00013
00014 #include <string>
00015 #include "GaudiKernel/IInterface.h"
00016
00026 class IEventCnvSvc : virtual public IInterface {
00027 public:
00028 class Leaf : public std::vector<Leaf*> {
00029 public:
00030 long userParameter;
00031 std::string path;
00032 std::string bank;
00033 CLID clid;
00034 Leaf(const std::string& p, const CLID& c, const std::string& b, long u)
00035 : path(p), bank(b), clid(c), userParameter(u) {}
00036 Leaf(const Leaf& copy)
00037 : path(copy.path), bank(copy.bank), clid(copy.clid), userParameter(copy.userParameter) {}
00038 Leaf& operator=(const Leaf& copy) {
00039 path = copy.path;
00040 bank = copy.bank;
00041 clid = copy.clid;
00042 userParameter = copy.userParameter;
00043 return *this;
00044 }
00045 bool operator==(const Leaf& copy) const {
00046 return path == copy.path &&
00047 bank == copy.bank &&
00048 clid == copy.clid &&
00049 userParameter == copy.userParameter;
00050 }
00051 };
00053 virtual StatusCode declareObject(const Leaf& leaf) = 0;
00054 };
00055
00056
00057 #endif // _IEventCnvSvc_H