BmnRoot
Loading...
Searching...
No Matches
BmnHgndRaw2Digit.h
Go to the documentation of this file.
1#ifndef BmnHgndRaw2Digit_H
2#define BmnHgndRaw2Digit_H
3
5#include "BmnEventHeader.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
22
24{
25 public:
26 BmnHgndRaw2Digit() = default;
27 BmnHgndRaw2Digit(int period, int run, const std::string& mappingFile = "", const std::string& calibrationFile = "");
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;
43
44 ClassDef(BmnHgndRaw2Digit, 1);
45};
46#endif /* BmnHgndRaw2Digit_H */
std::optional< uint32_t > GetAddressFromBoard(uint32_t key) const
void fillEvent(TClonesArray *tdc_data, BmnEventHeader *hdr, TClonesArray *digits)
virtual ~BmnHgndRaw2Digit()
void ParseConfig(const std::string &mappingFile)
std::optional< std::pair< TdcFromTot, QdcFromTotApprox > > GetCalibPairFromAddress(uint32_t address) const
void ParseCalibration(const std::string &calibrationFile)
BmnHgndRaw2Digit()=default
BmnHgndRaw2Digit(int period, int run, const std::string &mappingFile="", const std::string &calibrationFile="")
const std::unordered_map< uint32_t, uint32_t > & GetChannelMap() const
Data class for HGND digis in the BM@N experiment.
-clang-format