BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RawDataCnvSvc/include/RawDataCnvSvc/IRawDataCnvSvc.h
Go to the documentation of this file.
1#pragma once
2
3#include "GaudiKernel/ConversionSvc.h"
4
5#include "RawDataCnv/EventManagement/RawEventDef.h"
6
7class IRawDataCnvSvc : virtual public IInterface {
8public:
10
11 class Leaf : public std::vector<Leaf*> {
12 public:
14 std::string path;
15 std::string bank;
16 CLID clid;
17
18 Leaf( const std::string& p, const CLID& c, const std::string& b, long u )
19 : userParameter( u ), path( p ), bank( b ), clid( c ) {}
20
21 Leaf( const Leaf& copy )
22 : std::vector<Leaf*>( 0 )
24 , path( copy.path )
25 , bank( copy.bank )
26 , clid( copy.clid ) {}
27
28 Leaf& operator=( const Leaf& copy ) {
29 path = copy.path;
30 bank = copy.bank;
31 clid = copy.clid;
32 userParameter = copy.userParameter;
33 return *this;
34 }
35
36 bool operator==( const Leaf& copy ) const {
37 return path == copy.path && bank == copy.bank && clid == copy.clid &&
38 userParameter == copy.userParameter;
39 }
40 };
41
42 /// Declare target leaf
43 virtual StatusCode declareObject( const Leaf& leaf ) = 0;
44
45 virtual WriteRawEvent*& getRawEvent() = 0;
46};
eformat::write::FullEventFragment WriteRawEvent
Leaf(const std::string &p, const CLID &c, const std::string &b, long u)
virtual WriteRawEvent *& getRawEvent()=0
virtual StatusCode declareObject(const Leaf &leaf)=0
Declare target leaf.
DeclareInterfaceID(IRawDataCnvSvc, 1, 0)