Skip to content

Commit 9fbdb2e

Browse files
afurssawenzel
authored andcommitted
FIT: update from FEE, new field in raw data
1 parent 4951982 commit 9fbdb2e

3 files changed

Lines changed: 25 additions & 21 deletions

File tree

DataFormats/Detectors/FIT/common/include/DataFormatsFIT/RawEventData.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -101,22 +101,22 @@ struct TCMdata {
101101
static constexpr size_t PayloadPerGBTword = 10;
102102
static constexpr size_t MinNelements = 1;
103103
static constexpr size_t MaxNelements = 1;
104-
uint64_t orA : 1, // 0 bit (0 byte)
105-
orC : 1, //1 bit
106-
sCen : 1, //2 bit
107-
cen : 1, //3 bit
108-
vertex : 1, //4 bit
109-
laser : 1, //5 bit
110-
reservedField1 : 1, //6 bit
111-
dataIsValid : 1, //7 bit
112-
nChanA : 7, //8 bit(1 byte)
113-
reservedField2 : 1, //15 bit
114-
nChanC : 7, //16 bit(2 byte)
115-
reservedField3 : 1; // 23 bit
116-
int64_t amplA : 17, //24 bit (3 byte)
117-
reservedField4 : 1, //41 bit
118-
amplC : 17, //42 bit.
119-
reservedField5 : 1, //59 bit.
104+
uint64_t orA : 1, // 0 bit (0 byte)
105+
orC : 1, //1 bit
106+
sCen : 1, //2 bit
107+
cen : 1, //3 bit
108+
vertex : 1, //4 bit
109+
laser : 1, //5 bit
110+
outputsAreBlocked : 1, //6 bit
111+
dataIsValid : 1, //7 bit
112+
nChanA : 7, //8 bit(1 byte)
113+
reservedField2 : 1, //15 bit
114+
nChanC : 7, //16 bit(2 byte)
115+
reservedField3 : 1; // 23 bit
116+
int64_t amplA : 17, //24 bit (3 byte)
117+
reservedField4 : 1, //41 bit
118+
amplC : 17, //42 bit.
119+
reservedField5 : 1, //59 bit.
120120
//in standard case(without __atribute__((packed)) macros, or packing by using union)
121121
//here will be empty 4 bits, end next field("timeA") will start from 64 bit.
122122
timeA : 9, //60 bit

DataFormats/Detectors/FIT/common/src/RawEventData.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ void TCMdata::print() const
5454
LOG(INFO) << "cen: " << cen;
5555
LOG(INFO) << "vertex: " << vertex;
5656
LOG(INFO) << "laser: " << laser;
57+
LOG(INFO) << "outputsAreBlocked: " << outputsAreBlocked;
5758
LOG(INFO) << "dataIsValid: " << dataIsValid;
5859
LOG(INFO) << "nChanA: " << nChanA;
5960
LOG(INFO) << "nChanC: " << nChanC;

Detectors/FIT/raw/include/FITRaw/DigitBlockFIT.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ auto ConvertDigit2TCMData(const DigitType& digit, TCMDataType& tcmData) -> std::
8383
tcmData.cen = digit.mTriggers.getCen();
8484
tcmData.vertex = digit.mTriggers.getVertex();
8585
tcmData.laser = bool(digit.mTriggers.triggersignals & (1 << 5));
86-
tcmData.dataIsValid = bool(digit.mTriggers.triggersignals & (1 << 6));
87-
//tcmData.laser = digit.mTriggers.getLaserBit(); //Turned off for FDD
86+
tcmData.outputsAreBlocked = bool(digit.mTriggers.triggersignals & (1 << 6));
87+
tcmData.dataIsValid = bool(digit.mTriggers.triggersignals & (1 << 7));
8888
tcmData.nChanA = digit.mTriggers.nChanA;
8989
tcmData.nChanC = digit.mTriggers.nChanC;
9090
const int64_t thresholdSignedInt17bit = 65535; //pow(2,17)/2-1
@@ -111,7 +111,8 @@ auto ConvertDigit2TCMData(const DigitType& digit, TCMDataType& tcmData) -> std::
111111
tcmData.cen = bool(digit.mTriggers.triggerSignals & (1 << 3));
112112
tcmData.vertex = bool(digit.mTriggers.triggerSignals & (1 << 4));
113113
tcmData.laser = bool(digit.mTriggers.triggerSignals & (1 << 5));
114-
tcmData.dataIsValid = bool(digit.mTriggers.triggerSignals & (1 << 6));
114+
tcmData.outputsAreBlocked = bool(digit.mTriggers.triggerSignals & (1 << 6));
115+
tcmData.dataIsValid = bool(digit.mTriggers.triggerSignals & (1 << 7));
115116
tcmData.nChanA = digit.mTriggers.nChanA;
116117
//tcmData.nChanC = digit.mTriggers.nChanC;
117118
tcmData.nChanC = 0;
@@ -137,7 +138,8 @@ auto ConvertTCMData2Digit(DigitType& digit, const TCMDataType& tcmData) -> std::
137138
((bool)tcmData.cen << TriggerType::bitCen) |
138139
((bool)tcmData.sCen << TriggerType::bitSCen) |
139140
((bool)tcmData.laser << 5) |
140-
((bool)tcmData.dataIsValid << 6);
141+
((bool)tcmData.outputsAreBlocked << 6) |
142+
((bool)tcmData.dataIsValid << 7);
141143
trg.nChanA = (int8_t)tcmData.nChanA;
142144
trg.nChanC = (int8_t)tcmData.nChanC;
143145
trg.amplA = (int32_t)tcmData.amplA;
@@ -167,7 +169,8 @@ auto ConvertTCMData2Digit(DigitType& digit, const TCMDataType& tcmData) -> std::
167169
((bool)tcmData.cen << 3) |
168170
((bool)tcmData.vertex << 4) |
169171
((bool)tcmData.laser << 5) |
170-
((bool)tcmData.dataIsValid << 6);
172+
((bool)tcmData.outputsAreBlocked << 6) |
173+
((bool)tcmData.dataIsValid << 7);
171174
trg.nChanA = (int8_t)tcmData.nChanA;
172175
//trg.nChanC = (int8_t)tcmData.nChanC;
173176
trg.amplA = (int32_t)tcmData.amplA;

0 commit comments

Comments
 (0)