Pixie16 Analysis Software Suite
Analysis code for processing of .ldf files
ChanEvent Class Reference

A channel event. More...

#include <ChanEvent.hpp>

Collaboration diagram for ChanEvent:

Public Member Functions

 ChanEvent ()
 
void SetEnergy (double a)
 
void SetCalEnergy (double a)
 
void SetTime (double a)
 
void SetCorrectedTime (double a)
 
void SetCalTime (double a)
 
void SetHighResTime (double a)
 
double GetEnergy () const
 
double GetCalEnergy () const
 
double GetCorrectedTime () const
 
double GetTime () const
 
double GetCalTime () const
 
double GetHighResTime () const
 
double GetEventTime () const
 
const TraceGetTrace () const
 
TraceGetTrace ()
 
unsigned long GetTrigTime () const
 
unsigned long GetEventTimeLo () const
 
unsigned long GetEventTimeHi () const
 
unsigned long GetRunTime0 () const
 
unsigned long GetRunTime1 () const
 
unsigned long GetRunTime2 () const
 
bool IsPileup () const
 
bool IsSaturated () const
 
const IdentifierGetChanID () const
 
int GetID () const
 
unsigned long GetQdcValue (int i) const
 
void ZeroVar ()
 

Private Member Functions

void ZeroNums (void)
 

Private Attributes

double energy
 
double calEnergy
 
double calTime
 
double correctedTime
 
double highResTime
 
Trace trace
 
pixie::word_t trigTime
 
pixie::word_t cfdTime
 
pixie::word_t eventTimeLo
 
pixie::word_t eventTimeHi
 
pixie::word_t runTime0
 
pixie::word_t runTime1
 
pixie::word_t runTime2
 
pixie::word_t qdcValue [numQdcs]
 
double time
 
double eventTime
 
int modNum
 
int chanNum
 
bool virtualChannel
 
bool pileupBit
 
bool saturatedBit
 

Static Private Attributes

static const int numQdcs = 8
 

Friends

int ReadBuffDataA (pixie::word_t *, unsigned long *, std::vector< ChanEvent * > &)
 
int ReadBuffDataDF (pixie::word_t *, unsigned long *, std::vector< ChanEvent * > &)
 

Detailed Description

A channel event.

All data is grouped together into channels. For each pixie16 channel that fires the energy, time (both trigger time and event time), and trace (if applicable) are obtained. Additional information includes the channels identifier, calibrated energies, trace analysis information. Note that this currently stores raw values internally through pixie word types but returns data values through native C types. This is potentially non-portable.

Constructor & Destructor Documentation

ChanEvent::ChanEvent ( )
inline

Default constructor that zeroes all values

Member Function Documentation

double ChanEvent::GetCalEnergy ( ) const
inline

<

Returns
the calibrated energy
double ChanEvent::GetCalTime ( ) const
inline

<

Returns
the calibrated time
const Identifier& ChanEvent::GetChanID ( ) const
Returns
The identifier in the map for the channel event
double ChanEvent::GetCorrectedTime ( ) const
inline

<

Returns
the corrected time
double ChanEvent::GetEnergy ( ) const
inline

<

Returns
the raw energy
double ChanEvent::GetEventTime ( ) const
inline

<

Returns
the event time
unsigned long ChanEvent::GetEventTimeHi ( ) const
inline

<

Returns
the upper 32 bits of event time
unsigned long ChanEvent::GetEventTimeLo ( ) const
inline

<

Returns
the lower 32 bits of event time
double ChanEvent::GetHighResTime ( ) const
inline

<

Returns
the high-resolution time
int ChanEvent::GetID ( ) const
Returns
the channel id defined as pixie module # * 16 + channel number
unsigned long ChanEvent::GetQdcValue ( int  i) const
Returns
The Onboard QDC value at i
Parameters
[in]i: the QDC number to obtain, possible values [0,7]
unsigned long ChanEvent::GetRunTime0 ( ) const
inline

<

Returns
the lower bits of run time
unsigned long ChanEvent::GetRunTime1 ( ) const
inline

<

Returns
the middle bits of run time
unsigned long ChanEvent::GetRunTime2 ( ) const
inline

<

Returns
the higher bits of run time
double ChanEvent::GetTime ( ) const
inline

<

Returns
the raw time
const Trace& ChanEvent::GetTrace ( ) const
inline

<

Returns
a reference to the trace
Trace& ChanEvent::GetTrace ( )
inline
Returns
a reference which can alter the trace
unsigned long ChanEvent::GetTrigTime ( ) const
inline

<

Returns
the channel trigger time
bool ChanEvent::IsPileup ( ) const
inline

<

Returns
true if channel is pileup
bool ChanEvent::IsSaturated ( ) const
inline

<

Returns
whether the trace is saturated
void ChanEvent::SetCalEnergy ( double  a)
inline

Set the calibrated energy

Parameters
[in]a: the calibrated energy
void ChanEvent::SetCalTime ( double  a)
inline

Set the Calibrated time

Parameters
[in]a: the calibrated time
void ChanEvent::SetCorrectedTime ( double  a)
inline

Set the Walk corrected time

Parameters
[in]a: the walk corrected time
void ChanEvent::SetEnergy ( double  a)
inline

Set the raw energy in case we do not want to extract it from the trace ourselves

Parameters
[in]a: the energy to set
void ChanEvent::SetHighResTime ( double  a)
inline

Set the high resolution time (Filter time + phase )

Parameters
[in]a: the high resolution time
void ChanEvent::SetTime ( double  a)
inline

Set the time

Parameters
[in]a: the time to set
void ChanEvent::ZeroNums ( void  )
private

Zero members which do not have constructors associated with them

void ChanEvent::ZeroVar ( )

Channel event zeroing

All numerical values are set to -1, and the trace, and traceinfo vectors are cleared and the channel identifier is zeroed using its identifier::zeroid method.

Friends And Related Function Documentation

int ReadBuffDataA ( pixie::word_t ,
unsigned long *  ,
std::vector< ChanEvent * > &   
)
friend

Make the front end responsible for reading the data able to set the channel data directly from ReadBuffDataA - REVISION A

int ReadBuffDataDF ( pixie::word_t ,
unsigned long *  ,
std::vector< ChanEvent * > &   
)
friend

Make the front end responsible for reading the data able to set the channel data directly from ReadBuffDataA - REVISION D and F

Field Documentation

double ChanEvent::calEnergy
private

Calibrated channel energy, calibration performed in ThreshAndCal function in the detector_driver.cpp

double ChanEvent::calTime
private

Calibrated time, currently unused

pixie::word_t ChanEvent::cfdTime
private

CFD trigger time in units of 1/256 pixie clock ticks

int ChanEvent::chanNum
private

Channel number

double ChanEvent::correctedTime
private

Energy-walk corrected time

double ChanEvent::energy
private

Raw channel energy

double ChanEvent::eventTime
private

The event time recorded by Pixie

pixie::word_t ChanEvent::eventTimeHi
private

Upper 32 bits of pixie16 event time

pixie::word_t ChanEvent::eventTimeLo
private

Lower 32 bits of pixie16 event time

double ChanEvent::highResTime
private

timing resolution less than 1 adc size

int ChanEvent::modNum
private

Module number

const int ChanEvent::numQdcs = 8
staticprivate

Number of QDCs onboard

bool ChanEvent::pileupBit
private

Pile-up flag from Pixie

pixie::word_t ChanEvent::qdcValue[numQdcs]
private

QDCs from onboard

pixie::word_t ChanEvent::runTime0
private

Lower bits of run time

pixie::word_t ChanEvent::runTime1
private

Upper bits of run time

pixie::word_t ChanEvent::runTime2
private

Higher bits of run time

bool ChanEvent::saturatedBit
private

Saturation flag from Pixie

double ChanEvent::time
private

Raw channel time, 64 bit from pixie16 channel event time

Trace ChanEvent::trace
private

Channel trace if present

pixie::word_t ChanEvent::trigTime
private

The channel trigger time, trigger time and the lower 32 bits of the event time are not necessarily the same but could be separated by a constant value.

bool ChanEvent::virtualChannel
private

Flagged if generated virtually in Pixie DSP


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