BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
MpdVHLLEGenerator.cxx
Go to the documentation of this file.
1#include "MpdVHLLEGenerator.h"
2
8
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
46
47Bool_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
81
82 return kTRUE;
83}
bool Bool_t
int Int_t
constexpr Bool_t kFALSE
constexpr Bool_t kTRUE
void Fatal(const char *location, const char *msgfmt,...)
TChain * fDstTree
Input file name.
TString fFileName
Input file.
Bool_t ReadEvent(FairPrimaryGenerator *primGen)
void SetCascade(Bool_t flag)
treefin corresponds to hydro + cascade, treeini – to hydro calculations only