BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
expdata.C
Go to the documentation of this file.
1
/*
2
BM@N alignment routine
3
BM@N experiment at NICA complex, JINR, 2025
4
5
Department: Math & Soft Group of HEP lab
6
Author: Igor Polev, polev@jinr.ru
7
8
ROOT data export macro
9
*/
10
11
#ifndef __CLING__
12
#include "BmnRootIterator.h"
13
#include "BmnRun8DetModel.h"
14
#include "
TStopwatch.h
"
15
16
#include <fstream>
17
#endif
18
19
#define BMN_IN_FILELIST "cfg/dstDataExample.txt"
20
#define BMN_EXPORT_FILE "data.csv"
21
22
int
expdata
(
int
argc = 0,
char
** argv =
nullptr
)
23
{
24
TStopwatch
timer;
25
26
// prepare ROOT file readers and histograms
27
BmnRun8DetModel
detModel;
28
detModel.
Init
();
29
BmnRootIterator
data(
BMN_IN_FILELIST
, detModel);
30
31
// prepare export file
32
std::ofstream f(
BMN_EXPORT_FILE
, std::ofstream::out);
33
f <<
"trackID,detectorID,x,y,z,wx,wy\n"
;
34
35
// process ROOT data
36
Int_t
trackID{0}, hitCnt{0};
37
data.
ResetAll
();
38
while
(!data.
EndOfTracks
()) {
39
while
(!data.
EndOfHits
()) {
40
f << trackID <<
","
<< data.
HitDetectorID
() <<
","
<< data.
HitX
() <<
","
<< data.
HitY
() <<
","
41
<< data.
HitZ
() <<
","
<< data.
HitWx
() <<
","
<< data.
HitWy
() <<
"\n"
;
42
hitCnt++;
43
data.
NextHit
();
44
}
45
trackID++;
46
data.
NextTrack
();
47
}
48
std::cout <<
"Tracks exported: "
<< trackID << std::endl;
49
std::cout <<
"Hits exported: "
<< hitCnt << std::endl;
50
51
f.close();
52
// no memory cleanup in ROOT macro mode
53
std::cout <<
"Done in "
<< timer.
RealTime
() <<
"s"
<< std::endl;
54
return
0;
55
}
Int_t
int Int_t
TStopwatch.h
BmnDataIterator::EndOfTracks
Bool_t EndOfTracks() const noexcept
Definition
BmnDataIterator.h:39
BmnDataIterator::EndOfHits
Bool_t EndOfHits() const noexcept
Definition
BmnDataIterator.h:40
BmnDetectorModel::Init
Bool_t Init()
Definition
BmnDetectorModel.h:56
BmnRootIterator
Definition
BmnRootIterator.h:29
BmnRootIterator::HitY
virtual Double_t HitY() const override
Definition
BmnRootIterator.cxx:181
BmnRootIterator::ResetAll
virtual void ResetAll() override
Definition
BmnRootIterator.cxx:93
BmnRootIterator::HitWy
virtual Double_t HitWy() const override
Definition
BmnRootIterator.cxx:203
BmnRootIterator::HitDetectorID
virtual Int_t HitDetectorID() const override
Definition
BmnRootIterator.cxx:211
BmnRootIterator::HitZ
virtual Double_t HitZ() const override
Definition
BmnRootIterator.cxx:188
BmnRootIterator::HitX
virtual Double_t HitX() const override
Definition
BmnRootIterator.cxx:174
BmnRootIterator::HitWx
virtual Double_t HitWx() const override
Definition
BmnRootIterator.cxx:195
BmnRootIterator::NextTrack
virtual void NextTrack() override
Definition
BmnRootIterator.cxx:128
BmnRootIterator::NextHit
virtual void NextHit() override
Definition
BmnRootIterator.cxx:163
BmnRun8DetModel
Definition
BmnRun8DetModel.h:27
TStopwatch
TStopwatch::RealTime
Double_t RealTime()
BMN_EXPORT_FILE
#define BMN_EXPORT_FILE
Definition
expdata.C:20
BMN_IN_FILELIST
#define BMN_IN_FILELIST
Definition
expdata.C:19
expdata
int expdata(int argc=0, char **argv=nullptr)
Definition
expdata.C:22
align_new
expdata.C
Generated on
for BmnRoot by
1.17.0