BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
MpdVHLLEGenerator.cxx
Go to the documentation of this file.
1
#include "
MpdVHLLEGenerator.h
"
2
3
MpdVHLLEGenerator::MpdVHLLEGenerator
()
4
:
FairGenerator
()
5
,
fInputFile
(NULL)
6
,
fFileName
(
""
)
7
{}
8
9
MpdVHLLEGenerator::MpdVHLLEGenerator
(
TString
fileName,
Bool_t
isCascade)
10
:
FairGenerator
()
11
,
fInputFile
(NULL)
12
,
fFileName
(fileName)
13
{
14
// fFileName = fileName;
15
cout <<
"-I MpdVHLLEGenerator: Opening input file "
<<
fFileName
<< endl;
16
fInputFile
=
new
TFile
(
fFileName
.Data());
17
if
(!
fInputFile
) {
18
Fatal
(
"MpdVHLLEGenerator"
,
"Cannot open input file."
);
19
exit(1);
20
}
21
22
SetCascade
(isCascade);
23
cout <<
"ACTIVATED BRANCH IS: "
<<
fBranch
<< endl;
24
25
fDstTree
=
new
TChain
(
fBranch
.Data());
26
fDstTree
->Add(
fFileName
);
27
28
fDstTree
->SetBranchAddress(
"px"
,
fPx
);
29
fDstTree
->SetBranchAddress(
"py"
,
fPy
);
30
fDstTree
->SetBranchAddress(
"pz"
,
fPz
);
31
fDstTree
->SetBranchAddress(
"x"
,
fX
);
32
fDstTree
->SetBranchAddress(
"y"
,
fY
);
33
fDstTree
->SetBranchAddress(
"z"
,
fZ
);
34
fDstTree
->SetBranchAddress(
"E"
,
fE
);
35
fDstTree
->SetBranchAddress(
"npart"
, &
fNpart
);
36
fDstTree
->SetBranchAddress(
"id"
,
fPID
);
37
38
fEventNumber
= 0;
39
}
40
41
MpdVHLLEGenerator::~MpdVHLLEGenerator
()
42
{
43
delete
fInputFile
;
44
delete
fDstTree
;
45
}
46
47
Bool_t
MpdVHLLEGenerator::ReadEvent
(FairPrimaryGenerator* primGen)
48
{
49
50
// ---> Check for input file
51
if
(!
fInputFile
) {
52
cout <<
"-E MpdVHLLEGenerator: Input file not open! "
<< endl;
53
return
kFALSE
;
54
}
55
56
// ---> Check for primary generator
57
if
(!primGen) {
58
cout <<
"-E- MpdVHLLEGenerator::ReadEvent: "
59
<<
"No PrimaryGenerator!"
<< endl;
60
return
kFALSE
;
61
}
62
63
fDstTree
->GetEntry(
fEventNumber
);
64
cout <<
"-I MpdVHLLEGenerator: Event "
<<
fEventNumber
<<
" Multiplicity "
<<
fNpart
<< endl;
65
66
FairMCEventHeader
*
event
= primGen->GetEvent();
67
if
(event && (!event->IsSet())) {
68
event
->SetEventID(
fEventNumber
);
69
// event->SetB(b);
70
event
->MarkSet(
kTRUE
);
71
}
72
73
for
(
Int_t
iTrack = 0; iTrack <
fNpart
; iTrack++) {
74
primGen->AddTrack(
fPID
[iTrack],
fPx
[iTrack],
fPy
[iTrack],
fPz
[iTrack],
fX
[iTrack],
fY
[iTrack],
fZ
[iTrack]);
75
// cout << iTrack << " " << fPID[iTrack] << " " <<
76
// fPx[iTrack] << " " << fPy[iTrack] << " " << fPz[iTrack] << " " <<
77
// fX[iTrack] << " " << fY[iTrack] << " " << fZ[iTrack] << endl;
78
}
79
80
fEventNumber
++;
81
82
return
kTRUE
;
83
}
Bool_t
bool Bool_t
Int_t
int Int_t
kFALSE
constexpr Bool_t kFALSE
kTRUE
constexpr Bool_t kTRUE
Fatal
void Fatal(const char *location, const char *msgfmt,...)
FairGenerator
FairMCEventHeader
MpdVHLLEGenerator::fPx
Float_t fPx[dim]
Definition
MpdVHLLEGenerator.h:46
MpdVHLLEGenerator::fBranch
TString fBranch
Definition
MpdVHLLEGenerator.h:56
MpdVHLLEGenerator::fZ
Float_t fZ[dim]
Definition
MpdVHLLEGenerator.h:51
MpdVHLLEGenerator::fNpart
Int_t fNpart
Definition
MpdVHLLEGenerator.h:54
MpdVHLLEGenerator::fPID
Int_t fPID[dim]
Definition
MpdVHLLEGenerator.h:53
MpdVHLLEGenerator::fDstTree
TChain * fDstTree
Input file name.
Definition
MpdVHLLEGenerator.h:45
MpdVHLLEGenerator::fE
Float_t fE[dim]
Definition
MpdVHLLEGenerator.h:52
MpdVHLLEGenerator::fY
Float_t fY[dim]
Definition
MpdVHLLEGenerator.h:50
MpdVHLLEGenerator::fEventNumber
Int_t fEventNumber
Definition
MpdVHLLEGenerator.h:55
MpdVHLLEGenerator::~MpdVHLLEGenerator
~MpdVHLLEGenerator()
Definition
MpdVHLLEGenerator.cxx:41
MpdVHLLEGenerator::fPz
Float_t fPz[dim]
Definition
MpdVHLLEGenerator.h:48
MpdVHLLEGenerator::fPy
Float_t fPy[dim]
Definition
MpdVHLLEGenerator.h:47
MpdVHLLEGenerator::fX
Float_t fX[dim]
Definition
MpdVHLLEGenerator.h:49
MpdVHLLEGenerator::fFileName
TString fFileName
Input file.
Definition
MpdVHLLEGenerator.h:44
MpdVHLLEGenerator::fInputFile
TFile * fInputFile
Definition
MpdVHLLEGenerator.h:43
MpdVHLLEGenerator::ReadEvent
Bool_t ReadEvent(FairPrimaryGenerator *primGen)
Definition
MpdVHLLEGenerator.cxx:47
MpdVHLLEGenerator::SetCascade
void SetCascade(Bool_t flag)
treefin corresponds to hydro + cascade, treeini – to hydro calculations only
Definition
MpdVHLLEGenerator.h:58
MpdVHLLEGenerator::MpdVHLLEGenerator
MpdVHLLEGenerator()
Definition
MpdVHLLEGenerator.cxx:3
TChain
TFile
TString
MpdVHLLEGenerator.h
generators
MpdVHLLEGenerator.cxx
Generated on
for BmnRoot by
1.17.0