|
| Cell ()=default |
| Default constructor.
|
|
| Cell (short tower, float energy, float timestamp, ChannelType_t ctype=ChannelType_t::LOW_GAIN) |
| Constructor.
|
|
| Cell (uint16_t towerBits, uint16_t energyBits, uint16_t timestampBits, uint16_t channelBits, EncoderVersion version=EncoderVersion::EncodingV1) |
| Constructor, from encoded bit representation.
|
|
| ~Cell ()=default |
| Destructor.
|
|
void | setTower (short tower) |
| Set the tower ID.
|
|
short | getTower () const |
| Get the tower ID.
|
|
void | setTimeStamp (float timestamp) |
| Set the time stamp.
|
|
float | getTimeStamp () const |
| Get the time stamp.
|
|
void | setEnergy (float energy) |
| Set the energy of the cell.
|
|
float | getEnergy () const |
| Get the energy of the cell.
|
|
void | setAmplitude (float amplitude) |
| Set the amplitude of the cell.
|
|
float | getAmplitude () const |
| Get cell amplitude.
|
|
void | setType (ChannelType_t ctype) |
| Set the type of the cell.
|
|
ChannelType_t | getType () const |
| Get the type of the cell.
|
|
bool | isChannelType (ChannelType_t ctype) const |
| Check whether the cell is of a given type.
|
|
void | setLowGain () |
| Mark cell as low gain cell.
|
|
Bool_t | getLowGain () const |
| Check whether the cell is a low gain cell.
|
|
void | setHighGain () |
| Mark cell as high gain cell.
|
|
Bool_t | getHighGain () const |
| Check whether the cell is a high gain cell.
|
|
void | setLEDMon () |
| Mark cell as LED monitor cell.
|
|
Bool_t | getLEDMon () const |
| Check whether the cell is a LED monitor cell.
|
|
void | setTRU () |
| Mark cell as TRU cell.
|
|
Bool_t | getTRU () const |
| Check whether the cell is a TRU cell.
|
|
void | truncate (EncoderVersion version=EncoderVersion::EncodingV1) |
| Apply compression as done during writing to / reading from CTF.
|
|
void | PrintStream (std::ostream &stream) const |
|
void | initialiseFromEncoded (uint16_t towerIDBits, uint16_t timestampBits, uint16_t energyBits, uint16_t celltypeBits, EncoderVersion version=EncoderVersion::EncodingV1) |
| Initialize cell class from bit representation (for CTF decoding)
|
|
uint16_t | getTowerIDEncoded () const |
| Get encoded bit representation of tower ID (for CTF)
|
|
uint16_t | getTimeStampEncoded () const |
| Get encoded bit representation of timestamp (for CTF)
|
|
uint16_t | getEnergyEncoded (EncoderVersion version=EncoderVersion::EncodingV2) const |
| Get encoded bit representation of energy (for CTF)
|
|
uint16_t | getCellTypeEncoded () const |
| Get encoded bit representation of cell type (for CTF)
|
|
void | initializeFromPackedBitfieldV0 (const char *bitfield) |
|
EMCAL compressed cell information.
- Author
- Anders Knospe, University of Houston
-
Markus Fasel marku.nosp@m.s.fa.nosp@m.sel@c.nosp@m.ern..nosp@m.ch, Oak Ridge National Laboratory
- Since
- March 6, 2019
The cell class contains the relevant information for each tower per event
- Tower ID
- Energy of the raw fit
- Time of the raw fit
- Type of the cell
Compression for CTF
While cell type and tower ID have a predefined range based on the hardware design, energy and time have a finite resolution influenced by the resolution of the digitizer. This is used in order to compress the information stored in the compressed timeframe by not storing the full double values but instead assigning a certain amount of bits to each information. Therefore for certain information (energy, time) precision loss has to be taken into account. The number of bits assigned to each data member in the encoding are as follows:
Content | Number of bits | Resolution | Range |
Tower ID | 15 | - | 0 to 17644 |
Time (ns) | 11 | 0.73 ns | -600 to 900 ns |
Energy (GeV) | 14 | 0.0153 GeV | 0 to 250 GeV |
Cell type | 2 | - | 0=LG, 1=HG, 2=LEMon, 4=TRU |
The remaining bits are 0
Definition at line 58 of file Cell.h.