11 #ifndef ARICHRAWDIGIT_H
12 #define ARICHRAWDIGIT_H
26 class ARICHRawDigit :
public TObject {
32 unsigned char boardid;
36 unsigned int febtrgno;
41 mutable std::vector<ChannelDigit> channels;
42 const ChannelDigit& operator[](
unsigned char i)
const
50 unsigned int size()
const {
return channels.size(); }
51 void push_back(
unsigned char ich,
unsigned char val)
53 ChannelDigit channel = {ich, val};
54 channels.push_back(channel);
56 std::vector<ChannelDigit>& operator()() {
return channels; }
57 const std::vector<ChannelDigit>& operator()()
const {
return channels; }
65 set(0, 0, 0, 0, 0, 0);
70 ARICHRawDigit(
int type,
int ver,
int boardid,
int febno,
unsigned int length,
unsigned int trgno = 0)
72 set(type, ver, boardid, febno, length, trgno);
83 void set(
int type,
int ver,
int boardid,
int febno,
unsigned int length,
unsigned int trgno = 0);
86 int getCopperId() {
return m_copperid; }
87 int getHslbId() {
return m_hslb; }
88 int getType()
const {
return m_type; }
89 int getVersion()
const {
return m_ver; }
90 int getBoardId()
const {
return m_boardid; }
91 int getFEBNo()
const {
return m_febno; }
92 unsigned int getLength()
const {
return m_length; }
93 unsigned int getTrgNo()
const {
return m_trgno; }
94 int getNFEBs()
const {
return m_febs.size(); }
95 void addFEB(FEBDigit& feb,
int type,
int ver,
int boardid,
int febno,
96 unsigned int length,
unsigned int trgno,
unsigned int febtrgno)
100 feb.boardid = boardid;
104 feb.febtrgno = febtrgno;
105 m_febs.push_back(feb);
107 void setCopperId(
int id) { m_copperid = id; }
108 void setHslbId(
int id) { m_hslb = id; }
109 const std::vector<FEBDigit>& getFEBs()
const {
return m_febs; }
110 std::vector<FEBDigit>& getFEBs() {
return m_febs; }
119 unsigned int m_length;
120 unsigned int m_trgno;
121 std::vector<FEBDigit> m_febs;