9 #ifndef EventFilter_CTPPSRawToDigi_TotemSampicFrame
10 #define EventFilter_CTPPSRawToDigi_TotemSampicFrame
68 T binary = gcode_data & (0x0001 << (8 *
sizeof(
T) - 1));
71 for (
unsigned short int i = 1;
i < 8 *
sizeof(
T); ++
i)
72 binary |= (gcode_data ^ (binary >> 1)) & (0x0001 << (8 *
sizeof(
T) -
i - 1));
82 TotemSampicFrame(
const uint8_t* chInfoPtr,
const uint8_t* chDataPtr,
const uint8_t* eventInfoPtr)
87 if (chInfoPtr !=
nullptr && chDataPtr !=
nullptr && eventInfoPtr !=
nullptr &&
115 << std::hex << bitsChannelMap.to_string() <<
"\nNumber of Samples:\t" <<
std::dec
118 << (int)
getFWVersion() <<
"\nChannel:\nHardwareId:\t" << std::hex
138 for (
int i = start + size - 1;
i >=
start;
i--)
139 result = (result << 8) | array[
i];
154 tmp = extractDataFromBytesLSB<uint16_t>(
157 return grayToBinary<uint16_t>(
tmp);
163 tmp = extractDataFromBytesLSB<uint16_t>(
165 return grayToBinary<uint16_t>(
tmp);
191 std::vector<uint8_t> samples;
194 for (
auto it = samples.begin(); it != samples.end(); ++it)
195 *it = grayToBinary<uint8_t>(*it);
213 tmp = extractDataFromBytesLSB<uint64_t>(
221 tmp = extractDataFromBytesLSB<uint16_t>(
229 tmp = extractDataFromBytesLSB<uint32_t>(
237 tmp = extractDataFromBytesLSB<uint32_t>(
245 tmp = extractDataFromBytesLSB<uint16_t>(
253 tmp = extractDataFromBytesLSB<uint16_t>(
296 for (
unsigned int i = 0;
i <
size;
i++) {
298 std::bitset<16> bits(*(buffer++));
299 edm::LogInfo(
"TotemSampicFrame") << bits.to_string() <<
"\n";
301 edm::LogInfo(
"TotemSampicFrame") << std::setfill(
'0') << std::setw(4) << std::hex << *(buffer++) <<
"\n";
const std::vector< uint8_t > getSamples() const
uint16_t getTimestampB() const
T extractDataFromBytesLSB(const uint8_t *array, int start, int size) const
const uint8_t * totemSampicInfoPtr_
uint16_t getChannelMap() const
uint8_t getEventHardwareId() const
uint8_t getPLLInfo() const
unsigned int getNumberOfSamples() const
void printRaw(bool binary=false) const
const uint8_t * totemSampicEventInfoPtr_
const uint8_t * totemSampicDataPtr_
uint8_t getHardwareId() const
uint32_t getEventNumber() const
uint16_t getTimestampA() const
uint64_t getL1ATimestamp() const
uint8_t getOffsetOfSamples() const
uint8_t getFWVersion() const
int getDetChannel() const
Log< level::Info, false > LogInfo
TotemSampicFrame(const uint8_t *chInfoPtr, const uint8_t *chDataPtr, const uint8_t *eventInfoPtr)
unsigned long long uint64_t
uint16_t getBunchNumber() const
void printRawBuffer(const uint16_t *buffer, const bool binary=false, const unsigned int size=12) const
uint8_t getNumberOfSentSamples() const
T grayToBinary(const T &gcode_data)
uint16_t getCellInfo() const
tuple size
Write out results.
uint64_t getFPGATimestamp() const
uint16_t getL1ALatency() const
uint32_t getOrbitNumber() const