BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnADCDigit.h
Go to the documentation of this file.
1#ifndef BMNADCDIGIT_H
2#define BMNADCDIGIT_H
3
4#include "TObject.h"
5
6#include <type_traits>
7
8using std::vector;
9
10template<typename IntType>
11class BmnADCDigit : public TObject
12{
13 static_assert(std::is_integral_v<IntType>, "This class only supports integer types");
14
15 protected:
16 uint32_t fSerial;
17 uint16_t fChannel;
18 vector<IntType> fValue;
19 bool isEmbedded;
20
21 public:
22 /** Default constructor **/
24 : fSerial(0)
25 , fChannel(0)
27 {}
28
29 // BmnADCDigit::BmnADCDigit(uint32_t iSerial, uint16_t iChannel, ContType& iValue, Bool_t flag = kFALSE)
30 BmnADCDigit(uint32_t iSerial, uint16_t iChannel, vector<IntType>&& iValue, Bool_t flag = kFALSE)
31 : fSerial(iSerial)
32 , fChannel(iChannel)
33 , fValue(std::move(iValue))
34 , isEmbedded(flag)
35 {
36 // if (typeid(ContType) == typeid(vector<IntType>))
37 // fValue = std::move(iValue);
38 // else
39 // fValue = vector(begin(iValue), end(iValue));
40 }
41
42 BmnADCDigit(uint32_t iSerial, uint16_t iChannel, const vector<IntType>& iValue, Bool_t flag = kFALSE)
43 : fSerial(iSerial)
44 , fChannel(iChannel)
45 , fValue(iValue)
46 , isEmbedded(flag)
47 {}
48
49 uint32_t GetSerial() const { return fSerial; }
50
51 uint16_t GetChannel() const { return fChannel; }
52
53 uint32_t GetNSamples() { return fValue.size(); }
54
55 vector<IntType>& GetValue() { return fValue; }
56
57 void SetAsEmbedded(Bool_t flag) { isEmbedded = flag; }
58
60
61 /** Destructor **/
62 virtual ~BmnADCDigit() {}
63
65};
66
67#endif /* BMNADCDIGIT_H */
bool Bool_t
constexpr Bool_t kFALSE
#define ClassDef(name, id)
vector< IntType > fValue
Definition BmnADCDigit.h:18
BmnADCDigit(uint32_t iSerial, uint16_t iChannel, const vector< IntType > &iValue, Bool_t flag=kFALSE)
Definition BmnADCDigit.h:42
uint16_t fChannel
Definition BmnADCDigit.h:17
virtual ~BmnADCDigit()
Destructor.
Definition BmnADCDigit.h:62
void SetAsEmbedded(Bool_t flag)
Definition BmnADCDigit.h:57
uint32_t GetNSamples()
Definition BmnADCDigit.h:53
BmnADCDigit()
Default constructor.
Definition BmnADCDigit.h:23
Bool_t IsEmbedded()
Definition BmnADCDigit.h:59
uint32_t GetSerial() const
Definition BmnADCDigit.h:49
BmnADCDigit(uint32_t iSerial, uint16_t iChannel, vector< IntType > &&iValue, Bool_t flag=kFALSE)
Definition BmnADCDigit.h:30
uint32_t fSerial
Definition BmnADCDigit.h:16
bool isEmbedded
Definition BmnADCDigit.h:19
vector< IntType > & GetValue()
Definition BmnADCDigit.h:55
uint16_t GetChannel() const
Definition BmnADCDigit.h:51
Definition json.hpp:4446