Belle II Software  release-06-01-15
RawData Class Reference

KLM raw data. More...

#include <RawData.h>

Public Member Functions

 RawData (int copper, int slot, const int *buffer, StoreArray< KLMDigitRaw > *klmDigitRaws, KLMDigitRaw **newDigitRaw, bool fillDigitRaws)
 Constructor (unpack KLM raw data). More...
 
 ~RawData ()
 Destructor.
 
uint16_t getLane () const
 Get lane.
 
uint16_t getAxis () const
 Get axis.
 
uint16_t getChannel () const
 Get channel.
 
uint16_t getCTime () const
 Get CTIME.
 
uint16_t getTriggerBits () const
 Get trigger bits.
 
uint16_t getTDC () const
 Get TDC.
 
uint16_t getCharge () const
 Get charge.
 
bool multipleStripHit () const
 Check whether this hit corresponds to multiple strips.
 
void getChannelGroups (std::vector< ChannelGroup > &channelGroups) const
 Get channel groups corresponding to this hit. More...
 

Static Public Member Functions

static uint16_t unpackLane (uint16_t raw)
 Unpack lane. More...
 
static uint16_t unpackAxis (uint16_t raw)
 Unpack axis. More...
 
static uint16_t unpackChannel (uint16_t raw)
 Unpack channel. More...
 
static uint16_t unpackCTime (uint16_t raw)
 Unpack CTIME. More...
 
static uint16_t unpackTriggerBits (uint16_t raw)
 Unpack trigger bits. More...
 
static uint16_t unpackTDC (uint16_t raw)
 Unpack TDC. More...
 
static uint16_t unpackCharge (uint16_t raw)
 Unpack charge.
 

Protected Attributes

uint16_t m_Lane
 Lane (5 bits).
 
uint16_t m_Axis
 Axis (1 bit).
 
uint16_t m_Channel
 Channel (7 bits).
 
uint16_t m_CTime
 CTIME (16 bits).
 
uint16_t m_TriggerBits
 Trigger bits (5 bits).
 
uint16_t m_TDC
 TDC (11 bits).
 
uint16_t m_Charge
 Charge (12 bits).
 

Detailed Description

KLM raw data.

Definition at line 47 of file RawData.h.

Constructor & Destructor Documentation

◆ RawData()

RawData ( int  copper,
int  slot,
const int *  buffer,
StoreArray< KLMDigitRaw > *  klmDigitRaws,
KLMDigitRaw **  newDigitRaw,
bool  fillDigitRaws 
)

Constructor (unpack KLM raw data).

Parameters
[in]copperCopper identifier.
[in]slotSlot number (1-based).
[in]bufferData buffer (to be unpacked).
[in,out]klmDigitRawsKLMDigitRaw array.
[out]newDigitRawNew KLMRawDigit.
[in]fillDigitRawsWhether to fill klmDigitRaws.

Definition at line 20 of file RawData.cc.

24 {
25  uint16_t dataWords[4];
26  dataWords[0] = (buffer[0] >> 16) & 0xFFFF;
27  dataWords[1] = buffer[0] & 0xFFFF;
28  dataWords[2] = (buffer[1] >> 16) & 0xFFFF;
29  dataWords[3] = buffer[1] & 0xFFFF;
30  m_Lane = unpackLane(dataWords[0]);
31  m_Axis = unpackAxis(dataWords[0]);
32  m_Channel = unpackChannel(dataWords[0]);
33  m_CTime = unpackCTime(dataWords[1]);
34  m_TriggerBits = unpackTriggerBits(dataWords[2]);
35  m_TDC = unpackTDC(dataWords[2]);
36  m_Charge = unpackCharge(dataWords[3]);
37  if (fillDigitRaws) {
38  *newDigitRaw = klmDigitRaws->appendNew(copper, slot,
39  dataWords[0], dataWords[1],
40  dataWords[2], dataWords[3]);
41  }
42 }
uint16_t m_Charge
Charge (12 bits).
Definition: RawData.h:223
uint16_t m_TDC
TDC (11 bits).
Definition: RawData.h:220
static uint16_t unpackTDC(uint16_t raw)
Unpack TDC.
Definition: RawData.h:189
static uint16_t unpackChannel(uint16_t raw)
Unpack channel.
Definition: RawData.h:162
static uint16_t unpackCharge(uint16_t raw)
Unpack charge.
Definition: RawData.h:197
uint16_t m_Axis
Axis (1 bit).
Definition: RawData.h:208
uint16_t m_Channel
Channel (7 bits).
Definition: RawData.h:211
uint16_t m_TriggerBits
Trigger bits (5 bits).
Definition: RawData.h:217
static uint16_t unpackCTime(uint16_t raw)
Unpack CTIME.
Definition: RawData.h:171
static uint16_t unpackLane(uint16_t raw)
Unpack lane.
Definition: RawData.h:144
static uint16_t unpackTriggerBits(uint16_t raw)
Unpack trigger bits.
Definition: RawData.h:180
uint16_t m_Lane
Lane (5 bits).
Definition: RawData.h:205
static uint16_t unpackAxis(uint16_t raw)
Unpack axis.
Definition: RawData.h:153
uint16_t m_CTime
CTIME (16 bits).
Definition: RawData.h:214

Member Function Documentation

◆ getChannelGroups()

void getChannelGroups ( std::vector< ChannelGroup > &  channelGroups) const

Get channel groups corresponding to this hit.

Parameters
[out]channelGroupsChannel groups.

Definition at line 48 of file RawData.cc.

◆ unpackAxis()

static uint16_t unpackAxis ( uint16_t  raw)
inlinestatic

Unpack axis.

Parameters
[in]rawRaw-data word.

Definition at line 153 of file RawData.h.

154  {
155  return (raw >> 7) & 0x1;
156  };

◆ unpackChannel()

static uint16_t unpackChannel ( uint16_t  raw)
inlinestatic

Unpack channel.

Parameters
[in]rawRaw-data word.

Definition at line 162 of file RawData.h.

◆ unpackCTime()

static uint16_t unpackCTime ( uint16_t  raw)
inlinestatic

Unpack CTIME.

Parameters
[in]rawRaw-data word.

Definition at line 171 of file RawData.h.

◆ unpackLane()

static uint16_t unpackLane ( uint16_t  raw)
inlinestatic

Unpack lane.

Parameters
[in]rawRaw-data word.

Definition at line 144 of file RawData.h.

◆ unpackTDC()

static uint16_t unpackTDC ( uint16_t  raw)
inlinestatic

Unpack TDC.

Parameters
[in]rawRaw-data word.

Definition at line 189 of file RawData.h.

◆ unpackTriggerBits()

static uint16_t unpackTriggerBits ( uint16_t  raw)
inlinestatic

Unpack trigger bits.

Parameters
[in]rawRaw-data word.

Definition at line 180 of file RawData.h.


The documentation for this class was generated from the following files: