BmnRoot
26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnSlewingTOF700.h
Go to the documentation of this file.
1
#ifndef BmnSlewingTOF700_H
2
#define BmnSlewingTOF700_H 1
3
4
#include <bitset>
5
#include <cstdio>
6
#include <cstdlib>
7
#include <deque>
8
#include <fstream>
9
#include <iostream>
10
#include <list>
11
#include <map>
12
#include <stdio.h>
13
#include <stdlib.h>
14
#include <vector>
15
// ROOT
16
#include "
TClonesArray.h
"
17
#include "
TFile.h
"
18
#include "
TString.h
"
19
#include "
TSystem.h
"
20
#include "
TTimeStamp.h
"
21
#include "
TTree.h
"
22
// BmnRoot
23
#include "
BmnADCDigit.h
"
24
#include "
BmnCscRaw2Digit.h
"
25
#include "
BmnDchRaw2Digit.h
"
26
#include "
BmnECALRaw2Digit.h
"
27
#include "
BmnEnums.h
"
28
#include "
BmnEventHeader.h
"
29
#include "
BmnGemRaw2Digit.h
"
30
#include "
BmnGemStripDigit.h
"
31
#include "
BmnHRBDigit.h
"
32
#include "
BmnMwpcRaw2Digit.h
"
33
#include "
BmnSiliconRaw2Digit.h
"
34
#include "
BmnSyncDigit.h
"
35
#include "
BmnTDCDigit.h
"
36
#include "
BmnTQDCADCDigit.h
"
37
#include "
BmnTof1Raw2Digit.h
"
38
#include "
BmnTof2Raw2DigitNew.h
"
39
#include "
BmnTrigRaw2Digit.h
"
40
#include "
BmnZDCRaw2Digit.h
"
41
#include "
DigiArrays.h
"
42
#include "
RawTypes.h
"
43
44
const
UInt_t
kRUNNUMBERSYNC1
= 0x236E7552;
45
const
size_t
kWORDSIZE1
=
sizeof
(
UInt_t
);
46
47
/********************************************************/
48
49
// wait limit for input data (ms)
50
using namespace
std;
51
52
class
BmnSlewingTOF700
53
{
54
public
:
55
BmnSlewingTOF700
(
TString
file, ULong_t nEvents = 0, ULong_t period = 4);
56
BmnSlewingTOF700
();
57
virtual
~BmnSlewingTOF700
();
58
59
BmnStatus
InitUTCShift
();
60
Int_t
GetUTCShift
(
TTimeStamp
t);
61
62
BmnStatus
ClearArrays
();
63
BmnStatus
InitDecoder
();
64
BmnStatus
InitMaps
();
65
void
ResetDecoder
(
TString
file);
66
BmnStatus
DisposeDecoder
();
67
BmnStatus
SlewingTOF700Init
();
68
BmnStatus
SlewingTOF700
();
69
70
BmnStatus
PreparationTOF700Init
() {
return
SlewingTOF700Init
(); };
71
BmnStatus
PreparationTOF700
();
72
73
void
SetQue
(deque<UInt_t>*
v
) {
fDataQueue
=
v
; }
74
75
deque<UInt_t>*
GetQue
() {
return
fDataQueue
; }
76
77
void
SetRunId
(UInt_t
v
) {
fRunId
=
v
; }
78
79
void
SetPeriodId
(UInt_t
v
) {
fPeriodId
=
v
; }
80
81
map<UInt_t, Long64_t>
GetTimeShifts
() {
return
fTimeShifts
; }
82
83
UInt_t
GetRunId
()
const
{
return
fRunId
; }
84
85
UInt_t
GetPeriodId
()
const
{
return
fPeriodId
; }
86
87
UInt_t
GetNevents
()
const
{
return
fNevents
; }
88
89
UInt_t
GetEventId
()
const
{
return
fEventId
; }
90
91
BmnTof2Raw2DigitNew
*
GetTof700Mapper
() {
return
fTof700Mapper
; }
92
93
void
SetTrigPlaceMapping
(
TString
map) {
fTrigPlaceMapFileName
= map; }
94
95
void
SetTrigChannelMapping
(
TString
file) {
fTrigChannelMapFileName
= file; }
96
97
void
SetTof700Mapping
(
TString
map) {
fTof700MapFileName
= map; }
98
99
TString
GetRootFileName
() {
return
fRootFileName
; }
100
101
BmnStatus
SetDetectorSetup
(
Bool_t
* setup)
102
{
103
for
(
Int_t
i
= 0;
i
< 11; ++
i
) {
104
fDetectorSetup
[
i
] = setup[
i
];
105
}
106
107
return
kBMNSUCCESS
;
108
}
109
110
void
SetBmnSetup
(BmnSetup
v
) { this->
fBmnSetup
=
v
; }
111
112
BmnSetup
GetBmnSetup
()
const
{
return
fBmnSetup
; }
113
114
private
:
115
const
TTimeStamp
TimeZero
=
TTimeStamp
(time_t(0), 0);
116
117
// 9 bits correspond to detectors which we need to decode
118
Bool_t
fDetectorSetup
[11];
119
120
bool
isRawRootInputFile
;
121
122
Int_t
GetRunIdFromFile
(
TString
name);
123
124
TString
GetSubNameAfterRunId
(
TString
name,
Int_t
RunID);
125
126
UInt_t
fRunId
;
127
TTimeStamp
fRunStartTime
;
128
TTimeStamp
fRunEndTime
;
129
UInt_t
fPeriodId
;
130
UInt_t
fEventId
;
131
UInt_t
fNevents
;
132
// for event
133
Long64_t
fTime_s
;
134
Long64_t
fTime_ns
;
135
// for run
136
Long64_t
fTimeStart_s
;
137
Long64_t
fTimeStart_ns
;
138
Long64_t
fTimeFinish_s
;
139
Long64_t
fTimeFinish_ns
;
140
141
Long64_t
fLengthRawFile
;
142
Long64_t
fCurentPositionRawFile
;
143
144
TTree
*
fRawTree
;
145
TTree
*
fDigiTree
;
146
TString
fRootFileName
;
147
TString
fRawFileName
;
148
TString
fTof700MapFileName
;
149
TString
fTof700GeomFileName
;
150
TString
fTrigPlaceMapFileName
;
151
TString
fTrigChannelMapFileName
;
152
153
ifstream
fTrigMapFile
;
154
ifstream
fTrigINLFile
;
155
156
TFile
*
fRootFileIn
;
157
TFile
*
fRootFileOut
;
158
FILE*
fRawFileIn
;
159
160
// DAQ arrays
161
TClonesArray
*
sync
;
162
TClonesArray
*
adc32
;
// gem
163
TClonesArray
*
adc128
;
// sts
164
TClonesArray
*
adc
;
// zdc & ecal
165
TClonesArray
*
hrb
;
166
TClonesArray
*
tdc
;
167
TClonesArray
*
tqdc_tdc
;
168
TClonesArray
*
tqdc_adc
;
169
TClonesArray
*
msc
;
170
TClonesArray
*
eventHeaderDAQ
;
171
// TClonesArray *runHeaderDAQ;
172
TClonesArray
*
pedestalAdc
;
173
174
// header array
175
TClonesArray
*
eventHeader
;
176
177
UInt_t
data
[10000000];
178
ULong_t
fMaxEvent
;
179
180
UInt_t
fDat
;
// current 32-bits word
181
UInt_t
syncCounter
;
182
BmnTrigRaw2Digit
*
fTrigMapper
;
183
BmnTof2Raw2DigitNew
*
fTof700Mapper
;
184
BmnEventType
fCurEventType
;
185
BmnEventType
fPrevEventType
;
186
BmnSetup
fBmnSetup
;
187
UInt_t
fT0Serial
;
188
deque<UInt_t>*
fDataQueue
;
189
190
// Map to store pairs <Crate serial> - <crate time - T0 time>
191
map<UInt_t, Long64_t>
fTimeShifts
;
192
Double_t
fT0Time
;
// ns
193
Double_t
fT0Width
;
// ns
194
195
map<TTimeStamp, Int_t>
leaps
;
196
TTimeStamp
utc_valid
;
197
Int_t
tai_utc_dif
;
198
199
BmnStatus
GetT0Info
(
Double_t
& t0time,
Double_t
& t0width);
200
BmnStatus
FillTimeShiftsMap
();
201
BmnStatus
FillTimeShiftsMapNoDB
(UInt_t t0serial);
202
};
203
204
#endif
BmnADCDigit.h
BmnCscRaw2Digit.h
BmnDchRaw2Digit.h
BmnECALRaw2Digit.h
BmnEnums.h
Define enumerations used in tracking.
BmnStatus
BmnStatus
Define status code.
Definition
BmnEnums.h:93
kBMNSUCCESS
@ kBMNSUCCESS
Success.
Definition
BmnEnums.h:94
BmnEventHeader.h
BmnGemRaw2Digit.h
BmnGemStripDigit.h
BmnHRBDigit.h
BmnMwpcRaw2Digit.h
BmnSiliconRaw2Digit.h
kWORDSIZE1
const size_t kWORDSIZE1
Definition
BmnSlewingTOF700.h:45
kRUNNUMBERSYNC1
const UInt_t kRUNNUMBERSYNC1
Definition
BmnSlewingTOF700.h:44
BmnSyncDigit.h
BmnTDCDigit.h
BmnTQDCADCDigit.h
BmnTof1Raw2Digit.h
BmnTof2Raw2DigitNew.h
BmnTrigRaw2Digit.h
BmnZDCRaw2Digit.h
DigiArrays.h
v
__m128 v
Definition
P4_F32vec4.h:1
i
int i
Definition
P4_F32vec4.h:22
RawTypes.h
Bool_t
bool Bool_t
Int_t
int Int_t
UInt_t
unsigned int UInt_t
Double_t
double Double_t
Long64_t
long long Long64_t
TClonesArray.h
TFile.h
TString.h
TSystem.h
TTimeStamp.h
TTree.h
BmnSlewingTOF700::fPeriodId
UInt_t fPeriodId
Definition
BmnSlewingTOF700.h:129
BmnSlewingTOF700::eventHeader
TClonesArray * eventHeader
Definition
BmnSlewingTOF700.h:175
BmnSlewingTOF700::FillTimeShiftsMap
BmnStatus FillTimeShiftsMap()
Definition
BmnSlewingTOF700.cxx:140
BmnSlewingTOF700::pedestalAdc
TClonesArray * pedestalAdc
Definition
BmnSlewingTOF700.h:172
BmnSlewingTOF700::fTime_ns
Long64_t fTime_ns
Definition
BmnSlewingTOF700.h:134
BmnSlewingTOF700::FillTimeShiftsMapNoDB
BmnStatus FillTimeShiftsMapNoDB(UInt_t t0serial)
Definition
BmnSlewingTOF700.cxx:167
BmnSlewingTOF700::fBmnSetup
BmnSetup fBmnSetup
Definition
BmnSlewingTOF700.h:186
BmnSlewingTOF700::PreparationTOF700Init
BmnStatus PreparationTOF700Init()
Definition
BmnSlewingTOF700.h:70
BmnSlewingTOF700::hrb
TClonesArray * hrb
Definition
BmnSlewingTOF700.h:165
BmnSlewingTOF700::fRunStartTime
TTimeStamp fRunStartTime
Definition
BmnSlewingTOF700.h:127
BmnSlewingTOF700::GetTof700Mapper
BmnTof2Raw2DigitNew * GetTof700Mapper()
Definition
BmnSlewingTOF700.h:91
BmnSlewingTOF700::GetEventId
UInt_t GetEventId() const
Definition
BmnSlewingTOF700.h:89
BmnSlewingTOF700::BmnSlewingTOF700
BmnSlewingTOF700(TString file, ULong_t nEvents=0, ULong_t period=4)
Definition
BmnSlewingTOF700.cxx:53
BmnSlewingTOF700::fTrigMapper
BmnTrigRaw2Digit * fTrigMapper
Definition
BmnSlewingTOF700.h:182
BmnSlewingTOF700::fT0Time
Double_t fT0Time
Definition
BmnSlewingTOF700.h:192
BmnSlewingTOF700::fTimeFinish_ns
Long64_t fTimeFinish_ns
Definition
BmnSlewingTOF700.h:139
BmnSlewingTOF700::fCurEventType
BmnEventType fCurEventType
Definition
BmnSlewingTOF700.h:184
BmnSlewingTOF700::fTimeFinish_s
Long64_t fTimeFinish_s
Definition
BmnSlewingTOF700.h:138
BmnSlewingTOF700::data
UInt_t data[10000000]
Definition
BmnSlewingTOF700.h:177
BmnSlewingTOF700::ResetDecoder
void ResetDecoder(TString file)
BmnSlewingTOF700::fPrevEventType
BmnEventType fPrevEventType
Definition
BmnSlewingTOF700.h:185
BmnSlewingTOF700::SlewingTOF700Init
BmnStatus SlewingTOF700Init()
Definition
BmnSlewingTOF700.cxx:195
BmnSlewingTOF700::fT0Width
Double_t fT0Width
Definition
BmnSlewingTOF700.h:193
BmnSlewingTOF700::GetUTCShift
Int_t GetUTCShift(TTimeStamp t)
Definition
BmnSlewingTOF700.cxx:596
BmnSlewingTOF700::GetTimeShifts
map< UInt_t, Long64_t > GetTimeShifts()
Definition
BmnSlewingTOF700.h:81
BmnSlewingTOF700::GetSubNameAfterRunId
TString GetSubNameAfterRunId(TString name, Int_t RunID)
Definition
BmnSlewingTOF700.cxx:615
BmnSlewingTOF700::InitUTCShift
BmnStatus InitUTCShift()
Definition
BmnSlewingTOF700.cxx:562
BmnSlewingTOF700::fRunId
UInt_t fRunId
Definition
BmnSlewingTOF700.h:126
BmnSlewingTOF700::SetTrigPlaceMapping
void SetTrigPlaceMapping(TString map)
Definition
BmnSlewingTOF700.h:93
BmnSlewingTOF700::DisposeDecoder
BmnStatus DisposeDecoder()
BmnSlewingTOF700::fTrigPlaceMapFileName
TString fTrigPlaceMapFileName
Definition
BmnSlewingTOF700.h:150
BmnSlewingTOF700::sync
TClonesArray * sync
Definition
BmnSlewingTOF700.h:161
BmnSlewingTOF700::fRootFileIn
TFile * fRootFileIn
Definition
BmnSlewingTOF700.h:156
BmnSlewingTOF700::fRawFileIn
FILE * fRawFileIn
Definition
BmnSlewingTOF700.h:158
BmnSlewingTOF700::fT0Serial
UInt_t fT0Serial
Definition
BmnSlewingTOF700.h:187
BmnSlewingTOF700::TimeZero
const TTimeStamp TimeZero
Definition
BmnSlewingTOF700.h:115
BmnSlewingTOF700::fTof700GeomFileName
TString fTof700GeomFileName
Definition
BmnSlewingTOF700.h:149
BmnSlewingTOF700::fTimeStart_ns
Long64_t fTimeStart_ns
Definition
BmnSlewingTOF700.h:137
BmnSlewingTOF700::fLengthRawFile
Long64_t fLengthRawFile
Definition
BmnSlewingTOF700.h:141
BmnSlewingTOF700::fTrigChannelMapFileName
TString fTrigChannelMapFileName
Definition
BmnSlewingTOF700.h:151
BmnSlewingTOF700::tqdc_adc
TClonesArray * tqdc_adc
Definition
BmnSlewingTOF700.h:168
BmnSlewingTOF700::msc
TClonesArray * msc
Definition
BmnSlewingTOF700.h:169
BmnSlewingTOF700::fTrigMapFile
ifstream fTrigMapFile
Definition
BmnSlewingTOF700.h:153
BmnSlewingTOF700::fDigiTree
TTree * fDigiTree
Definition
BmnSlewingTOF700.h:145
BmnSlewingTOF700::InitMaps
BmnStatus InitMaps()
BmnSlewingTOF700::fDat
UInt_t fDat
Definition
BmnSlewingTOF700.h:180
BmnSlewingTOF700::SetTof700Mapping
void SetTof700Mapping(TString map)
Definition
BmnSlewingTOF700.h:97
BmnSlewingTOF700::GetRunIdFromFile
Int_t GetRunIdFromFile(TString name)
Definition
BmnSlewingTOF700.cxx:458
BmnSlewingTOF700::SetQue
void SetQue(deque< UInt_t > *v)
Definition
BmnSlewingTOF700.h:73
BmnSlewingTOF700::~BmnSlewingTOF700
virtual ~BmnSlewingTOF700()
Definition
BmnSlewingTOF700.cxx:117
BmnSlewingTOF700::isRawRootInputFile
bool isRawRootInputFile
Definition
BmnSlewingTOF700.h:120
BmnSlewingTOF700::fRootFileName
TString fRootFileName
Definition
BmnSlewingTOF700.h:146
BmnSlewingTOF700::GetRootFileName
TString GetRootFileName()
Definition
BmnSlewingTOF700.h:99
BmnSlewingTOF700::GetBmnSetup
BmnSetup GetBmnSetup() const
Definition
BmnSlewingTOF700.h:112
BmnSlewingTOF700::fTime_s
Long64_t fTime_s
Definition
BmnSlewingTOF700.h:133
BmnSlewingTOF700::fRunEndTime
TTimeStamp fRunEndTime
Definition
BmnSlewingTOF700.h:128
BmnSlewingTOF700::SetRunId
void SetRunId(UInt_t v)
Definition
BmnSlewingTOF700.h:77
BmnSlewingTOF700::fNevents
UInt_t fNevents
Definition
BmnSlewingTOF700.h:131
BmnSlewingTOF700::adc128
TClonesArray * adc128
Definition
BmnSlewingTOF700.h:163
BmnSlewingTOF700::eventHeaderDAQ
TClonesArray * eventHeaderDAQ
Definition
BmnSlewingTOF700.h:170
BmnSlewingTOF700::fTof700Mapper
BmnTof2Raw2DigitNew * fTof700Mapper
Definition
BmnSlewingTOF700.h:183
BmnSlewingTOF700::fTimeStart_s
Long64_t fTimeStart_s
Definition
BmnSlewingTOF700.h:136
BmnSlewingTOF700::GetQue
deque< UInt_t > * GetQue()
Definition
BmnSlewingTOF700.h:75
BmnSlewingTOF700::tdc
TClonesArray * tdc
Definition
BmnSlewingTOF700.h:166
BmnSlewingTOF700::SetPeriodId
void SetPeriodId(UInt_t v)
Definition
BmnSlewingTOF700.h:79
BmnSlewingTOF700::PreparationTOF700
BmnStatus PreparationTOF700()
Definition
BmnSlewingTOF700.cxx:359
BmnSlewingTOF700::adc32
TClonesArray * adc32
Definition
BmnSlewingTOF700.h:162
BmnSlewingTOF700::tqdc_tdc
TClonesArray * tqdc_tdc
Definition
BmnSlewingTOF700.h:167
BmnSlewingTOF700::fRootFileOut
TFile * fRootFileOut
Definition
BmnSlewingTOF700.h:157
BmnSlewingTOF700::fEventId
UInt_t fEventId
Definition
BmnSlewingTOF700.h:130
BmnSlewingTOF700::SetDetectorSetup
BmnStatus SetDetectorSetup(Bool_t *setup)
Definition
BmnSlewingTOF700.h:101
BmnSlewingTOF700::BmnSlewingTOF700
BmnSlewingTOF700()
Definition
BmnSlewingTOF700.cxx:9
BmnSlewingTOF700::fDataQueue
deque< UInt_t > * fDataQueue
Definition
BmnSlewingTOF700.h:188
BmnSlewingTOF700::GetNevents
UInt_t GetNevents() const
Definition
BmnSlewingTOF700.h:87
BmnSlewingTOF700::SlewingTOF700
BmnStatus SlewingTOF700()
Definition
BmnSlewingTOF700.cxx:249
BmnSlewingTOF700::fCurentPositionRawFile
Long64_t fCurentPositionRawFile
Definition
BmnSlewingTOF700.h:142
BmnSlewingTOF700::GetRunId
UInt_t GetRunId() const
Definition
BmnSlewingTOF700.h:83
BmnSlewingTOF700::InitDecoder
BmnStatus InitDecoder()
BmnSlewingTOF700::SetTrigChannelMapping
void SetTrigChannelMapping(TString file)
Definition
BmnSlewingTOF700.h:95
BmnSlewingTOF700::fDetectorSetup
Bool_t fDetectorSetup[11]
Definition
BmnSlewingTOF700.h:118
BmnSlewingTOF700::SetBmnSetup
void SetBmnSetup(BmnSetup v)
Definition
BmnSlewingTOF700.h:110
BmnSlewingTOF700::ClearArrays
BmnStatus ClearArrays()
BmnSlewingTOF700::adc
TClonesArray * adc
Definition
BmnSlewingTOF700.h:164
BmnSlewingTOF700::GetT0Info
BmnStatus GetT0Info(Double_t &t0time, Double_t &t0width)
Definition
BmnSlewingTOF700.cxx:522
BmnSlewingTOF700::fRawFileName
TString fRawFileName
Definition
BmnSlewingTOF700.h:147
BmnSlewingTOF700::utc_valid
TTimeStamp utc_valid
Definition
BmnSlewingTOF700.h:196
BmnSlewingTOF700::fRawTree
TTree * fRawTree
Definition
BmnSlewingTOF700.h:144
BmnSlewingTOF700::tai_utc_dif
Int_t tai_utc_dif
Definition
BmnSlewingTOF700.h:197
BmnSlewingTOF700::syncCounter
UInt_t syncCounter
Definition
BmnSlewingTOF700.h:181
BmnSlewingTOF700::fTimeShifts
map< UInt_t, Long64_t > fTimeShifts
Definition
BmnSlewingTOF700.h:191
BmnSlewingTOF700::GetPeriodId
UInt_t GetPeriodId() const
Definition
BmnSlewingTOF700.h:85
BmnSlewingTOF700::leaps
map< TTimeStamp, Int_t > leaps
Definition
BmnSlewingTOF700.h:195
BmnSlewingTOF700::fTof700MapFileName
TString fTof700MapFileName
Definition
BmnSlewingTOF700.h:148
BmnSlewingTOF700::fTrigINLFile
ifstream fTrigINLFile
Definition
BmnSlewingTOF700.h:154
BmnSlewingTOF700::fMaxEvent
ULong_t fMaxEvent
Definition
BmnSlewingTOF700.h:178
BmnTof2Raw2DigitNew
Definition
BmnTof2Raw2DigitNew.h:52
BmnTrigRaw2Digit
Definition
BmnTrigRaw2Digit.h:69
TClonesArray
TFile
TString
TTimeStamp
TTree
decoder
BmnSlewingTOF700.h
Generated on
for BmnRoot by
1.17.0