BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnFHCalRaw2Digit.h
Go to the documentation of this file.
1
#ifndef BmnFHCalRaw2Digit_H
2
#define BmnFHCalRaw2Digit_H
3
4
#include "
BmnADCDigit.h
"
5
#include "
BmnFHCalDigi.h
"
6
#include "
BmnSyncDigit.h
"
7
#include "FairLogger.h"
8
#include "
Riostream.h
"
9
#include "
TClonesArray.h
"
10
#include "
TString.h
"
11
#include "
WfmProcessor.h
"
12
13
#include <
UniRun.h
>
14
#include <boost/functional/hash.hpp>
15
#include <boost/program_options.hpp>
16
#include <cstdlib>
17
#include <iostream>
18
#include <numeric>
19
#include <optional>
20
#include <unordered_map>
21
22
class
BmnFHCalRaw2Digit
:
public
WfmProcessor
23
{
24
25
public
:
26
BmnFHCalRaw2Digit
(
Int_t
period,
Int_t
run,
TString
mappingFile,
TString
calibrationFile =
""
);
27
BmnFHCalRaw2Digit
();
28
29
~BmnFHCalRaw2Digit
();
30
31
TString
GetName
() {
return
"BmnHodoRaw2Digit"
; }
32
void
ParseConfig
(
TString
mappingFile);
33
void
ParseCalibration
(
TString
calibrationFile);
34
void
FillEvent
(
TClonesArray
* data,
TClonesArray
* FHCaldigit);
35
void
print
();
36
37
digiPars
GetDigiPars
() {
return
fdigiPars
; }
38
auto
GetChannelMap
() {
return
fuoChannelMap
; }
39
std::optional<std::pair<float, float>>
GetCalibPairFromAddress
(uint32_t address);
40
std::optional<uint32_t>
GetAddressFromBoard
(std::pair<size_t, size_t> key);
41
42
private
:
43
int
fPeriodId
;
44
int
fRunId
;
45
TString
fmappingFileName
;
46
TString
fcalibrationFileName
;
47
48
std::unordered_map<std::pair<size_t, size_t>, uint32_t, boost::hash<std::pair<size_t, size_t>>>
49
fuoChannelMap
;
// physical channel <board, ch> to digi address
50
std::unordered_map<uint32_t, std::pair<float, float>>
fuoCalibMap
;
// digi address to pair<calib, calibError>
51
52
ClassDef
(
BmnFHCalRaw2Digit
, 2);
53
};
54
#endif
/* BmnFHCalRaw2Digit_H */
Riostream.h
Int_t
int Int_t
ClassDef
#define ClassDef(name, id)
TClonesArray.h
TString.h
BmnFHCalRaw2Digit
Definition
BmnFHCalRaw2Digit.h:23
BmnFHCalRaw2Digit::fuoChannelMap
std::unordered_map< std::pair< size_t, size_t >, uint32_t, boost::hash< std::pair< size_t, size_t > > > fuoChannelMap
Definition
BmnFHCalRaw2Digit.h:49
BmnFHCalRaw2Digit::GetName
TString GetName()
Definition
BmnFHCalRaw2Digit.h:31
BmnFHCalRaw2Digit::~BmnFHCalRaw2Digit
~BmnFHCalRaw2Digit()
BmnFHCalRaw2Digit::GetAddressFromBoard
std::optional< uint32_t > GetAddressFromBoard(std::pair< size_t, size_t > key)
BmnFHCalRaw2Digit::FillEvent
void FillEvent(TClonesArray *data, TClonesArray *FHCaldigit)
BmnFHCalRaw2Digit::BmnFHCalRaw2Digit
BmnFHCalRaw2Digit()
BmnFHCalRaw2Digit::GetDigiPars
digiPars GetDigiPars()
Definition
BmnFHCalRaw2Digit.h:37
BmnFHCalRaw2Digit::fmappingFileName
TString fmappingFileName
Definition
BmnFHCalRaw2Digit.h:45
BmnFHCalRaw2Digit::fPeriodId
int fPeriodId
Definition
BmnFHCalRaw2Digit.h:43
BmnFHCalRaw2Digit::fuoCalibMap
std::unordered_map< uint32_t, std::pair< float, float > > fuoCalibMap
Definition
BmnFHCalRaw2Digit.h:50
BmnFHCalRaw2Digit::fcalibrationFileName
TString fcalibrationFileName
Definition
BmnFHCalRaw2Digit.h:46
BmnFHCalRaw2Digit::ParseConfig
void ParseConfig(TString mappingFile)
BmnFHCalRaw2Digit::ParseCalibration
void ParseCalibration(TString calibrationFile)
BmnFHCalRaw2Digit::GetChannelMap
auto GetChannelMap()
Definition
BmnFHCalRaw2Digit.h:38
BmnFHCalRaw2Digit::fRunId
int fRunId
Definition
BmnFHCalRaw2Digit.h:44
BmnFHCalRaw2Digit::GetCalibPairFromAddress
std::optional< std::pair< float, float > > GetCalibPairFromAddress(uint32_t address)
BmnFHCalRaw2Digit::print
void print()
BmnFHCalRaw2Digit::BmnFHCalRaw2Digit
BmnFHCalRaw2Digit(Int_t period, Int_t run, TString mappingFile, TString calibrationFile="")
TClonesArray
TString
WfmProcessor
Definition
WfmProcessor.h:12
WfmProcessor::fdigiPars
struct WfmProcessor::digiPars fdigiPars
BmnADCDigit.h
BmnFHCalDigi.h
BmnSyncDigit.h
UniRun.h
WfmProcessor.h
WfmProcessor::digiPars
Definition
WfmProcessor.h:25
install
include
BmnFHCalRaw2Digit.h
Generated on
for BmnRoot by
1.17.0