BmnRoot
26.10.0-19-g6979a6c6
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnHgndRaw2Digit.h
Go to the documentation of this file.
1
#ifndef BmnHgndRaw2Digit_H
2
#define BmnHgndRaw2Digit_H
3
4
#include "
BmnAbstractTDCDigit.h
"
5
#include "
BmnEventHeader.h
"
6
#include "
BmnHgndCalibration.h
"
7
#include "
BmnHgndDigi.h
"
8
#include "
BmnSyncDigit.h
"
9
#include "FairLogger.h"
10
#include "
TClonesArray.h
"
11
#include "
TString.h
"
12
13
#include <boost/math/special_functions/lambert_w.hpp>
14
#include <cstdlib>
15
#include <iostream>
16
#include <numeric>
17
#include <optional>
18
#include <unordered_map>
19
20
using
BmnHgndCalibration::QdcFromTotApprox
;
21
using
BmnHgndCalibration::TdcFromTot
;
22
23
class
BmnHgndRaw2Digit
24
{
25
public
:
26
BmnHgndRaw2Digit
() =
default
;
27
BmnHgndRaw2Digit
(
int
period,
int
run,
const
std::string& mappingFile =
""
,
const
std::string& calibrationFile =
""
);
28
virtual
~BmnHgndRaw2Digit
();
29
30
void
ParseConfig
(
const
std::string& mappingFile);
31
void
ParseCalibration
(
const
std::string& calibrationFile);
32
void
FillEvent
(
TClonesArray
* tdc_data,
BmnEventHeader
* hdr,
TClonesArray
* digits);
33
void
print
();
34
35
const
std::unordered_map<uint32_t, uint32_t>&
GetChannelMap
()
const
{
return
fuoChannelMap
; }
36
std::optional<std::pair<TdcFromTot, QdcFromTotApprox>>
GetCalibPairFromAddress
(uint32_t address)
const
;
37
std::optional<uint32_t>
GetAddressFromBoard
(uint32_t key)
const
;
38
39
private
:
40
std::unordered_map<uint32_t, uint32_t>
fuoChannelMap
;
// physical global channel to digi address
41
std::unordered_map<uint32_t, std::pair<TdcFromTot, QdcFromTotApprox>>
42
fuoCalibMap
;
//! digi address to pair<tdc, qdc>
43
44
ClassDef
(
BmnHgndRaw2Digit
, 1);
45
};
46
#endif
/* BmnHgndRaw2Digit_H */
BmnAbstractTDCDigit.h
BmnEventHeader.h
BmnHgndCalibration.h
BmnHgndDigi.h
Data class for HGND digis in the BM@N experiment.
BmnSyncDigit.h
ClassDef
#define ClassDef(name, id)
TClonesArray.h
TString.h
BmnEventHeader
Definition
BmnEventHeader.h:24
BmnHgndRaw2Digit::GetAddressFromBoard
std::optional< uint32_t > GetAddressFromBoard(uint32_t key) const
Definition
BmnHgndRaw2Digit.cxx:106
BmnHgndRaw2Digit::FillEvent
void FillEvent(TClonesArray *tdc_data, BmnEventHeader *hdr, TClonesArray *digits)
Definition
BmnHgndRaw2Digit.cxx:127
BmnHgndRaw2Digit::fuoCalibMap
std::unordered_map< uint32_t, std::pair< TdcFromTot, QdcFromTotApprox > > fuoCalibMap
Definition
BmnHgndRaw2Digit.h:42
BmnHgndRaw2Digit::fuoChannelMap
std::unordered_map< uint32_t, uint32_t > fuoChannelMap
Definition
BmnHgndRaw2Digit.h:40
BmnHgndRaw2Digit::ParseConfig
void ParseConfig(const std::string &mappingFile)
Definition
BmnHgndRaw2Digit.cxx:28
BmnHgndRaw2Digit::GetCalibPairFromAddress
std::optional< std::pair< TdcFromTot, QdcFromTotApprox > > GetCalibPairFromAddress(uint32_t address) const
Definition
BmnHgndRaw2Digit.cxx:116
BmnHgndRaw2Digit::ParseCalibration
void ParseCalibration(const std::string &calibrationFile)
Definition
BmnHgndRaw2Digit.cxx:63
BmnHgndRaw2Digit::print
void print()
Definition
BmnHgndRaw2Digit.cxx:11
BmnHgndRaw2Digit::~BmnHgndRaw2Digit
virtual ~BmnHgndRaw2Digit()
Definition
BmnHgndRaw2Digit.cxx:168
BmnHgndRaw2Digit::BmnHgndRaw2Digit
BmnHgndRaw2Digit()=default
BmnHgndRaw2Digit::GetChannelMap
const std::unordered_map< uint32_t, uint32_t > & GetChannelMap() const
Definition
BmnHgndRaw2Digit.h:35
TClonesArray
BmnHgndCalibration::QdcFromTotApprox
Definition
BmnHgndCalibration.h:96
BmnHgndCalibration::TdcFromTot
Definition
BmnHgndCalibration.h:11
decoder
BmnHgndRaw2Digit.h
Generated on
for BmnRoot by
1.17.0