BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TBossFullEvent.cxx
Go to the documentation of this file.
1#include "RootEventData/TBossFullEvent.h"
2#include "TBuffer.h"
3#include "TClass.h"
4#include <iostream>
5
7;
8
10 : m_mask( 0 )
11 , m_EvtHeader( 0 )
12 , m_digiEvt( 0 )
13 , m_dstEvt( 0 )
14 , m_mcEvt( 0 )
15 , m_trigEvt( 0 )
16 , m_hltEvt( 0 )
17 , m_rectrackEvt( 0 )
18 , m_evtRecObject( 0 ) {}
19
20#define SafeDeleteObject( ObjType, var ) \
21 if ( m_mask & has##ObjType ) { delete var; }
22
33
34#define SafePrintObject( ObjType, var ) \
35 if ( m_mask & has##ObjType ) { var->Print(); }
36
37void TBossFullEvent::Print( Option_t* option ) const {
38 std::cout << "=============================================" << std::endl
39 << "TBossFullEvent mask: 0x" << std::hex << m_mask << std::dec << std::endl
40 << "---------------------------------------------" << std::endl;
41
42 SafePrintObject( EvtHeader, m_EvtHeader );
48 SafePrintObject( RecTrackEvent, m_rectrackEvt );
50
51 std::cout << "=============================================" << std::endl;
52}
53
55 m_mask = obj->m_mask;
57 m_digiEvt = obj->m_digiEvt;
58 m_dstEvt = obj->m_dstEvt;
59 m_mcEvt = obj->m_mcEvt;
60 m_trigEvt = obj->m_trigEvt;
61 m_hltEvt = obj->m_hltEvt;
64}
65
66#define SafeReadObject( ObjType, var ) \
67 if ( m_mask & has##ObjType ) { var = (T##ObjType*)R__b.ReadObject( T##ObjType::Class() ); }
68
69#define SafeWriteObject( ObjType, var ) \
70 if ( m_mask & has##ObjType ) { R__b.WriteObject( var ); }
71
72void TBossFullEvent::Streamer( TBuffer& R__b ) {
73 if ( R__b.IsReading() )
74 {
75 R__b >> m_mask;
76 SafeReadObject( EvtHeader, m_EvtHeader );
82 SafeReadObject( RecTrackEvent, m_rectrackEvt );
84 }
85 else
86 {
87 R__b << m_mask;
88 SafeWriteObject( EvtHeader, m_EvtHeader );
94 SafeWriteObject( RecTrackEvent, m_rectrackEvt );
96 }
97}
#define SafePrintObject(ObjType, var)
#define SafeWriteObject(ObjType, var)
#define SafeReadObject(ObjType, var)
ClassImp(TBossFullEvent)
#define SafeDeleteObject(ObjType, var)
virtual ~TBossFullEvent()
void Print(Option_t *option="") const
void copy(TBossFullEvent *obj)