CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RawDataCnvBase/RawDataCnvBase-01-00-03/RawDataCnvBase/IRawDataCnvSvc.h
Go to the documentation of this file.
1#ifndef _IRawDataCnvSvc_H
2#define _IRawDataCnvSvc_H 1
3
4#include <string>
5#include "GaudiKernel/IInterface.h"
6
7/** IRawDataCnvSvc
8* The event conversion service needs an additional interface used
9* by the converters to declare their object path.
10*
11* Based on GLAST's EbfCnvSvc
12*/
13
14//static const InterfaceID IID_IRawDataBaseCnv("IRawDataBaseCnv", 1 , 0);
15
16class IRawDataCnvSvc : virtual public IInterface {
17public:
18 class Leaf : public std::vector<Leaf*> {
19 public:
21 std::string path;
22 std::string bank;
23 CLID clid;
24 Leaf(const std::string& p, const CLID& c, const std::string& b, long u)
25 : userParameter(u), path(p), bank(b), clid(c) {}
26 Leaf(const Leaf& copy)
27 : std::vector<Leaf*>(0), userParameter(copy.userParameter), path(copy.path),
28 bank(copy.bank), clid(copy.clid) {}
29 Leaf& operator=(const Leaf& copy) {
30 path = copy.path;
31 bank = copy.bank;
32 clid = copy.clid;
33 userParameter = copy.userParameter;
34 return *this;
35 }
36 bool operator==(const Leaf& copy) const {
37 return path == copy.path &&
38 bank == copy.bank &&
39 clid == copy.clid &&
40 userParameter == copy.userParameter;
41 }
42 };
43
44 /// Declare target leaf
45 virtual StatusCode declareObject(const Leaf& leaf) = 0;
46
47};
48
49#endif // _IRawDataCnvSvc_H
50
Leaf(const std::string &p, const CLID &c, const std::string &b, long u)
virtual StatusCode declareObject(const Leaf &leaf)=0
Declare target leaf.