BmnRoot
26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
MpdBoxSetDraw.cxx
Go to the documentation of this file.
1
// -------------------------------------------------------------------------
2
// ----- MpdBoxSetDraw source file -----
3
// ----- Created 03/01/08 by M. Al-Turany -----
4
// -------------------------------------------------------------------------
5
#include "
MpdBoxSetDraw.h
"
6
7
#include "FairRunAna.h"
8
#include "
MpdBoxSet.h
"
9
#include "
TEveManager.h
"
// for TEveManager, gEve
10
11
#include <iostream>
12
using namespace
std;
13
14
// ----- Default constructor -------------------------------------------
15
MpdBoxSetDraw::MpdBoxSetDraw
()
16
:
FairTask
(
"MpdBoxSetDraw"
, 0)
17
,
fVerbose
(0)
18
,
fList
(NULL)
19
,
fEventManager
(NULL)
20
,
fManager
(NULL)
21
,
fq
(NULL)
22
,
fX
(0.3)
23
,
fY
(0.3)
24
,
fZ
(0.3)
25
,
fTimeWindowPlus
(0.)
26
,
fTimeWindowMinus
(0.)
27
,
fStartTime
(0.)
28
,
fUseEventTime
(
kTRUE
)
29
,
isRedraw
(
kFALSE
)
30
,
fStartFunctor
()
31
,
fStopFunctor
()
32
{}
33
34
// ----- Standard constructor ------------------------------------------
35
MpdBoxSetDraw::MpdBoxSetDraw
(
const
char
* name,
Int_t
iVerbose)
36
:
FairTask
(name, iVerbose)
37
,
fVerbose
(iVerbose)
38
,
fList
(NULL)
39
,
fEventManager
(NULL)
40
,
fManager
(NULL)
41
,
fq
(NULL)
42
,
fX
(0.3)
43
,
fY
(0.3)
44
,
fZ
(0.3)
45
,
fTimeWindowPlus
(0.)
46
,
fTimeWindowMinus
(0.)
47
,
fStartTime
(0.)
48
,
fUseEventTime
(
kTRUE
)
49
,
isRedraw
(
kFALSE
)
50
,
fStartFunctor
()
51
,
fStopFunctor
()
52
{}
53
54
// ----- Destructor ----------------------------------------------------
55
MpdBoxSetDraw::~MpdBoxSetDraw
() {}
56
57
InitStatus
MpdBoxSetDraw::Init
()
58
{
59
if
(
fVerbose
> 1)
60
cout <<
"MpdBoxSetDraw::Init()"
<< endl;
61
62
fManager
= FairRootManager::Instance();
63
64
fList
= (
TClonesArray
*)FairRootManager::Instance()->GetObject(GetName());
65
if
(
fList
== 0) {
66
cout <<
"MpdBoxSetDraw::Init() branch "
<< GetName() <<
" not found! Task will be deactivated"
<< endl;
67
SetActive(
kFALSE
);
68
return
kERROR;
69
}
70
if
(
fVerbose
> 2)
71
cout <<
"MpdBoxSetDraw::Init() get track list "
<<
fList
<< endl;
72
73
fEventManager
=
MpdEventManager::Instance
();
74
if
(
fVerbose
> 2)
75
cout <<
"MpdBoxSetDraw::Init() get instance of MpdEventManager"
<< endl;
76
77
fq
= 0;
78
fStartFunctor
=
new
StopTime();
79
fStopFunctor
=
new
StopTime();
80
81
return
kSUCCESS;
82
}
83
// -------------------------------------------------------------------------
84
void
MpdBoxSetDraw::Exec
(
Option_t
*
/*option*/
)
85
{
86
if
(!IsActive())
87
return
;
88
89
Reset
();
90
91
CreateBoxSet
();
92
if
(FairRunAna::Instance()->IsTimeStamp()) {
93
fList
->Clear();
94
Double_t
eventTime =
fManager
->GetEventTime();
95
if
(
fUseEventTime
)
96
fStartTime
= eventTime -
fTimeWindowMinus
;
97
cout <<
"EventTime: "
<< eventTime <<
" TimeWindow: "
<<
fStartTime
<<
" - "
<< eventTime +
fTimeWindowPlus
98
<< endl;
99
100
fList
=
fManager
->GetData(GetName(),
fStartFunctor
,
fStartTime
,
fStopFunctor
,
101
eventTime +
fTimeWindowPlus
);
// FairRootManager::Instance()->GetEventTime() +
102
}
103
if
(
fVerbose
> 1)
104
cout << GetName() <<
" fList: "
<<
fList
->GetEntries() << endl;
105
106
for
(
Int_t
i
= 0;
i
<
fList
->GetEntriesFast();
i
++) {
107
TObject
* p =
fList
->At(
i
);
108
AddBoxes
(
fq
, p,
i
);
109
}
110
111
gEve
->AddElement(
fq
,
fEventManager
);
112
if
(
isRedraw
)
113
gEve
->Redraw3D();
114
}
115
116
void
MpdBoxSetDraw::AddBoxes
(
MpdBoxSet
* set,
TObject
* obj,
Int_t
i
)
117
{
118
TVector3
point =
GetVector
(obj);
119
set->
AddBox
(point.
X
(), point.
Y
(), point.
Z
());
120
set->
DigitValue
(
GetValue
(obj,
i
));
121
if
(
fVerbose
> 2)
122
cout <<
"MpdBoxSetDraw::Init() Add point "
<<
i
<<
": "
<< point.
X
() <<
" "
<< point.
Y
() <<
" "
<< point.
Z
()
123
<<
" "
<< endl;
124
}
125
126
Int_t
MpdBoxSetDraw::GetValue
(
TObject
*
/*obj*/
,
Int_t
i
)
127
{
128
return
i
;
129
}
130
131
MpdBoxSet
*
MpdBoxSetDraw::CreateBoxSet
()
132
{
133
MpdBoxSet
* aBoxSet =
new
MpdBoxSet
(
this
, GetName());
134
aBoxSet->
Reset
(
MpdBoxSet::kBT_AABoxFixedDim
,
kFALSE
, 64);
135
aBoxSet->
SetDefWidth
(
fX
);
136
aBoxSet->
SetDefHeight
(
fY
);
137
aBoxSet->
SetDefDepth
(
fZ
);
138
139
fq
= aBoxSet;
140
141
return
aBoxSet;
142
}
143
144
void
MpdBoxSetDraw::SetParContainers
() {}
145
146
/** Action after each event**/
147
void
MpdBoxSetDraw::Finish
() {}
148
149
void
MpdBoxSetDraw::Reset
()
150
{
151
if
(
fq
!= 0) {
152
fq
->Reset();
153
gEve
->RemoveElement(
fq
,
fEventManager
);
154
}
155
}
MpdBoxSetDraw.h
MpdBoxSet.h
i
int i
Definition
P4_F32vec4.h:22
Int_t
int Int_t
kFALSE
constexpr Bool_t kFALSE
Double_t
double Double_t
kTRUE
constexpr Bool_t kTRUE
Option_t
const char Option_t
TEveManager.h
gEve
R__EXTERN TEveManager * gEve
FairTask
MpdBoxSetDraw::GetVector
virtual TVector3 GetVector(TObject *obj)=0
MpdBoxSetDraw::fStartFunctor
BinaryFunctor * fStartFunctor
Definition
MpdBoxSetDraw.h:96
MpdBoxSetDraw::fq
MpdBoxSet * fq
Definition
MpdBoxSetDraw.h:84
MpdBoxSetDraw::MpdBoxSetDraw
MpdBoxSetDraw()
Default constructor.
Definition
MpdBoxSetDraw.cxx:15
MpdBoxSetDraw::SetParContainers
virtual void SetParContainers()
Definition
MpdBoxSetDraw.cxx:144
MpdBoxSetDraw::fTimeWindowMinus
Double_t fTimeWindowMinus
Definition
MpdBoxSetDraw.h:88
MpdBoxSetDraw::fStopFunctor
BinaryFunctor * fStopFunctor
Definition
MpdBoxSetDraw.h:97
MpdBoxSetDraw::fY
Double_t fY
Definition
MpdBoxSetDraw.h:85
MpdBoxSetDraw::Finish
virtual void Finish()
Action after each event.
Definition
MpdBoxSetDraw.cxx:147
MpdBoxSetDraw::Exec
virtual void Exec(Option_t *option)
Executed task.
Definition
MpdBoxSetDraw.cxx:84
MpdBoxSetDraw::AddBoxes
virtual void AddBoxes(MpdBoxSet *set, TObject *obj, Int_t i=0)
Definition
MpdBoxSetDraw.cxx:116
MpdBoxSetDraw::CreateBoxSet
MpdBoxSet * CreateBoxSet()
Definition
MpdBoxSetDraw.cxx:131
MpdBoxSetDraw::GetValue
virtual Int_t GetValue(TObject *obj, Int_t i)
Definition
MpdBoxSetDraw.cxx:126
MpdBoxSetDraw::fTimeWindowPlus
Double_t fTimeWindowPlus
Definition
MpdBoxSetDraw.h:87
MpdBoxSetDraw::fVerbose
Int_t fVerbose
Definition
MpdBoxSetDraw.h:79
MpdBoxSetDraw::fZ
Double_t fZ
Definition
MpdBoxSetDraw.h:85
MpdBoxSetDraw::Reset
void Reset()
Definition
MpdBoxSetDraw.cxx:149
MpdBoxSetDraw::fEventManager
MpdEventManager * fEventManager
Definition
MpdBoxSetDraw.h:82
MpdBoxSetDraw::fUseEventTime
Bool_t fUseEventTime
Definition
MpdBoxSetDraw.h:90
MpdBoxSetDraw::fList
TClonesArray * fList
Definition
MpdBoxSetDraw.h:81
MpdBoxSetDraw::fX
Double_t fX
Definition
MpdBoxSetDraw.h:85
MpdBoxSetDraw::isRedraw
Bool_t isRedraw
Definition
MpdBoxSetDraw.h:91
MpdBoxSetDraw::~MpdBoxSetDraw
virtual ~MpdBoxSetDraw()
Destructor.
Definition
MpdBoxSetDraw.cxx:55
MpdBoxSetDraw::fStartTime
Double_t fStartTime
Definition
MpdBoxSetDraw.h:89
MpdBoxSetDraw::fManager
FairRootManager * fManager
Definition
MpdBoxSetDraw.h:83
MpdBoxSetDraw::Init
virtual InitStatus Init()
Definition
MpdBoxSetDraw.cxx:57
MpdBoxSet
MpdBoxSet.
Definition
MpdBoxSet.h:24
MpdEventManager::Instance
static MpdEventManager * Instance()
Definition
MpdEventManager.cxx:30
TClonesArray
TEveBoxSet::SetDefHeight
void SetDefHeight(Float_t v)
TEveBoxSet::AddBox
void AddBox(const Float_t *verts)
TEveBoxSet::SetDefDepth
void SetDefDepth(Float_t v)
TEveBoxSet::SetDefWidth
void SetDefWidth(Float_t v)
TEveBoxSet::kBT_AABoxFixedDim
kBT_AABoxFixedDim
TEveBoxSet::Reset
void Reset()
TEveDigitSet::DigitValue
void DigitValue(Int_t value)
TObject
TVector3
TVector3::Z
Double_t Z() const
TVector3::Y
Double_t Y() const
TVector3::X
Double_t X() const
eventdisplay
MpdBoxSetDraw.cxx
Generated on
for BmnRoot by
1.17.0