BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnParts.h
Go to the documentation of this file.
1#ifndef BMNPARTS_H
2#define BMNPARTS_H 1
3
4#include <DigiRunHeader.h>
5#include <DstRunHeader.h>
6#include <TClonesArray.h>
7#include <vector>
8
9class BmnParts : public TObject
10{
11 public:
13 : fDigRunHeader(nullptr)
14 , fDstRunHeader(nullptr)
15 {}
16
18 {
19 DeleteTCAs();
20 if (fDigRunHeader)
21 delete fDigRunHeader;
22 if (fDstRunHeader)
23 delete fDstRunHeader;
24 }
25
26 void Clear()
27 {
28 for (TClonesArray* ar : fArrays)
29 if (ar) {
30 ar->Delete();
31 }
32 }
33 void Reset()
34 {
35 Clear();
36 // if (fDigEvHeader)
37 // delete fDigEvHeader;
38 // if (fDstEvHeader)
39 // delete fDstEvHeader;
40 }
45 vector<TNamed*>& GetObjects() { return fObjects; }
46 vector<TClonesArray*>& GetArrays() { return fArrays; }
47 void AddArray(TClonesArray* ar) { fArrays.push_back(ar); }
48 void AddObject(TNamed* ob) { fObjects.push_back(ob); }
49
52 void SetEventId(UInt_t event_id) { fEventId = event_id; }
53 void SetPeriodId(UInt_t period_id) { fPeriodId = period_id; }
54
55 private:
57 {
58 for (TClonesArray* ar : fArrays)
59 if (ar) {
60 ar->Delete();
61 delete ar;
62 }
63 for (TNamed* ob : fObjects)
64 if (ob) {
65 delete ob;
66 }
67 }
70 vector<TNamed*> fObjects;
71 vector<TClonesArray*> fArrays;
72
75
77};
78
79#endif /* BMNPARTS_H */
__m128 v
Definition P4_F32vec4.h:1
unsigned int UInt_t
#define ClassDef(name, id)
void Clear()
Definition BmnParts.h:26
vector< TClonesArray * > fArrays
Definition BmnParts.h:71
DstRunHeader * fDstRunHeader
Definition BmnParts.h:69
void SetEventId(UInt_t event_id)
Definition BmnParts.h:52
void DeleteTCAs()
Definition BmnParts.h:56
UInt_t fEventId
Definition BmnParts.h:73
UInt_t GetEventId()
Definition BmnParts.h:50
~BmnParts()
Definition BmnParts.h:17
UInt_t GetPeriodId()
Definition BmnParts.h:51
void SetPeriodId(UInt_t period_id)
Definition BmnParts.h:53
DigiRunHeader * fDigRunHeader
Definition BmnParts.h:68
void Reset()
Definition BmnParts.h:33
vector< TNamed * > fObjects
Definition BmnParts.h:70
BmnParts()
Definition BmnParts.h:12
void AddArray(TClonesArray *ar)
Definition BmnParts.h:47
DigiRunHeader * GetDigiEventHeader()
Definition BmnParts.h:41
vector< TNamed * > & GetObjects()
Definition BmnParts.h:45
DstRunHeader * GetDstEventHeader()
Definition BmnParts.h:43
UInt_t fPeriodId
Definition BmnParts.h:74
void SetDigiEventHeader(DigiRunHeader *v)
Definition BmnParts.h:42
void AddObject(TNamed *ob)
Definition BmnParts.h:48
vector< TClonesArray * > & GetArrays()
Definition BmnParts.h:46
void SetDstEventHeader(DstRunHeader *v)
Definition BmnParts.h:44
friend friend class TClonesArray