Belle II Software  release-08-01-10
TOPRawWaveform Class Reference

Class to store raw data waveforms. More...

#include <TOPRawWaveform.h>

Inheritance diagram for TOPRawWaveform:
Collaboration diagram for TOPRawWaveform:

Classes

struct  FeatureExtraction
 Feature extraction data. More...
 

Public Types

enum  { c_WindowSize = 64 }
 Various constants. More...
 

Public Member Functions

 TOPRawWaveform ()
 Default constructor.
 
 TOPRawWaveform (int moduleID, int pixelID, unsigned channel, unsigned scrodID, unsigned window, int startSample, const std::vector< short > &data)
 Useful constructor. More...
 
void setPedestalSubtractedFlag (bool value)
 Sets pedestal subtracted flag.
 
void setPhysicalWindow (unsigned window)
 Sets hardware physical window number.
 
void setLastWriteAddr (unsigned lastWriteAddr)
 Sets current (reference) window number.
 
void setStorageWindows (const std::vector< unsigned short > &windows)
 Sets storage window numbers.
 
void setRevo9Counter (unsigned short revo9Counter)
 Sets number of global clock tics since last revo9 flag. More...
 
void setOffsetWindows (int offsetWindows)
 Sets number of offset windows (windows before "first one") - MC only. More...
 
int getModuleID () const
 Returns module ID. More...
 
int getPixelID () const
 Returns pixel ID (1-based) More...
 
unsigned getChannel () const
 Returns hardware channel number (0-based) More...
 
unsigned getScrodID () const
 Returns SCROD ID. More...
 
unsigned getStorageWindow () const
 Returns hardware logic window number (storage window) More...
 
int getStartSample () const
 Returns sample number of the first waveform sample. More...
 
bool isPedestalSubtracted () const
 Tells whether pedestal already subtracted or not. More...
 
unsigned getPhysicalWindow () const
 Returns hardware physical window number. More...
 
unsigned getReferenceWindow () const
 Returns IRS reference analog storage window (last write address). More...
 
const std::vector< unsigned short > & getStorageWindows () const
 Returns storage window numbers of waveform segments. More...
 
unsigned short getRevo9Counter () const
 Returns 127 MHz clock ticks since last revo9 marker. More...
 
int getOffsetWindows () const
 Returns number of windows before the "first one" which defines the time origin. More...
 
unsigned getASICChannel () const
 Returns ASIC channel number. More...
 
unsigned getASICNumber () const
 Returns ASIC number. More...
 
unsigned getCarrierNumber () const
 Returns carrier board number. More...
 
unsigned getBoardstackNumber () const
 Returns boardstack number. More...
 
unsigned getSize () const
 Returns waveform size. More...
 
const std::vector< short > & getWaveform () const
 Returns waveform. More...
 
bool areWindowsInOrder (unsigned lastSample=0xFFFFFFFF, unsigned short storageDepth=508) const
 Checks if storage windows come in the consecutive order before the last sample (no gaps in between before the last sample) More...
 
int getIntegral (int sampleRise, int samplePeak, int sampleFall) const
 Returns integral of a peak. More...
 
int featureExtraction (int threshold, int hysteresis, int thresholdCount) const
 Do feature extraction. More...
 
const std::vector< FeatureExtraction > & getFeatureExtractionData () const
 Returns feature extraction data. More...
 
void addRelationTo (const RelationsInterface< BASE > *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (with caching). More...
 
void addRelationTo (const TObject *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (no caching, can be quite slow). More...
 
void copyRelations (const RelationsInterface< BASE > *sourceObj)
 Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights). More...
 
template<class TO >
RelationVector< TO > getRelationsTo (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from this object to another store array. More...
 
template<class FROM >
RelationVector< FROM > getRelationsFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from another store array to this object. More...
 
template<class T >
RelationVector< T > getRelationsWith (const std::string &name="", const std::string &namedRelation="") const
 Get the relations between this object and another store array. More...
 
template<class TO >
TO * getRelatedTo (const std::string &name="", const std::string &namedRelation="") const
 Get the object to which this object has a relation. More...
 
template<class FROM >
FROM * getRelatedFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the object from which this object has a relation. More...
 
template<class T >
T * getRelated (const std::string &name="", const std::string &namedRelation="") const
 Get the object to or from which this object has a relation. More...
 
template<class TO >
std::pair< TO *, float > getRelatedToWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing to an array. More...
 
template<class FROM >
std::pair< FROM *, float > getRelatedFromWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from an array. More...
 
template<class T >
std::pair< T *, float > getRelatedWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from/to an array. More...
 
virtual std::string getName () const
 Return a short name that describes this object, e.g. More...
 
virtual std::string getInfoHTML () const
 Return a short summary of this object's contents in HTML format. More...
 
std::string getInfo () const
 Return a short summary of this object's contents in raw text format. More...
 
std::string getArrayName () const
 Get name of array this object is stored in, or "" if not found.
 
int getArrayIndex () const
 Returns this object's array index (in StoreArray), or -1 if not found.
 

Protected Member Functions

TClonesArray * getArrayPointer () const
 Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).
 

Private Member Functions

int Integral (int sampleRise, int samplePeak, int sampleFall) const
 Returns integral of a peak. More...
 
 ClassDef (TOPRawWaveform, 9)
 ClassDef.
 

Private Attributes

int m_moduleID = 0
 module ID
 
int m_pixelID = 0
 software channel ID
 
unsigned m_channel = 0
 hardware channel number
 
unsigned short m_scrodID = 0
 SCROD ID.
 
unsigned short m_window = 0
 hardware logic window number (storage window)
 
int m_startSample = 0
 sample number of the first waveform sample
 
std::vector< short > m_data
 waveform ADC values
 
bool m_pedestalSubtracted = false
 true, if pedestals already subtracted
 
unsigned short m_physicalWindow = 0
 hardware physical window number
 
unsigned short m_lastWriteAddr = 0
 current (reference) window number
 
std::vector< unsigned short > m_windows
 storage windows of waveform segments
 
unsigned short m_revo9Counter = 0
 number of clock ticks since last revo9 flag
 
int m_offsetWindows = 0
 number of offset windows (windows before "first one")
 
std::vector< FeatureExtractionm_features
 cache for feature extraction data
 
DataStore::StoreEntrym_cacheDataStoreEntry
 Cache of the data store entry to which this object belongs.
 
int m_cacheArrayIndex
 Cache of the index in the TClonesArray to which this object belongs.
 

Detailed Description

Class to store raw data waveforms.

Definition at line 24 of file TOPRawWaveform.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Various constants.

Enumerator
c_WindowSize 

number of samples per ASIC window

Definition at line 30 of file TOPRawWaveform.h.

30  {c_WindowSize = 64
31  };
@ c_WindowSize
number of samples per ASIC window

Constructor & Destructor Documentation

◆ TOPRawWaveform()

TOPRawWaveform ( int  moduleID,
int  pixelID,
unsigned  channel,
unsigned  scrodID,
unsigned  window,
int  startSample,
const std::vector< short > &  data 
)
inline

Useful constructor.

Parameters
moduleIDmodule (slot) ID (1-based)
pixelIDpixel ID (1-based)
channelhardware channel number (0-based)
scrodIDSCROD ID
windowhardware logic window number (storage window)
startSamplesample number of the first waveform sample
datawaveform ADC values

Definition at line 66 of file TOPRawWaveform.h.

Member Function Documentation

◆ addRelationTo() [1/2]

void addRelationTo ( const RelationsInterface< BASE > *  object,
float  weight = 1.0,
const std::string &  namedRelation = "" 
) const
inlineinherited

Add a relation from this object to another object (with caching).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 142 of file RelationsObject.h.

◆ addRelationTo() [2/2]

void addRelationTo ( const TObject *  object,
float  weight = 1.0,
const std::string &  namedRelation = "" 
) const
inlineinherited

Add a relation from this object to another object (no caching, can be quite slow).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 155 of file RelationsObject.h.

◆ areWindowsInOrder()

bool areWindowsInOrder ( unsigned  lastSample = 0xFFFFFFFF,
unsigned short  storageDepth = 508 
) const
inline

Checks if storage windows come in the consecutive order before the last sample (no gaps in between before the last sample)

Parameters
lastSamplelast sample
storageDepthstorage depth
Returns
true, if no gaps before the last sample

Definition at line 233 of file TOPRawWaveform.h.

◆ copyRelations()

void copyRelations ( const RelationsInterface< BASE > *  sourceObj)
inlineinherited

Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).

Useful if you want to make a complete copy of a StoreArray object to make modifications to it, but retain all information on linked objects.

Note: this only works if sourceObj inherits from the same base (e.g. RelationsObject), and only for related objects that also inherit from the same base.

Definition at line 170 of file RelationsObject.h.

◆ getASICChannel()

unsigned getASICChannel ( ) const
inline

Returns ASIC channel number.

Returns
channel number

Definition at line 191 of file TOPRawWaveform.h.

◆ getASICNumber()

unsigned getASICNumber ( ) const
inline

Returns ASIC number.

Returns
ASIC number

Definition at line 197 of file TOPRawWaveform.h.

◆ getBoardstackNumber()

unsigned getBoardstackNumber ( ) const
inline

Returns boardstack number.

Returns
boardstack number

Definition at line 209 of file TOPRawWaveform.h.

◆ getCarrierNumber()

unsigned getCarrierNumber ( ) const
inline

Returns carrier board number.

Returns
carrier number

Definition at line 203 of file TOPRawWaveform.h.

◆ getChannel()

unsigned getChannel ( ) const
inline

Returns hardware channel number (0-based)

Returns
channel number

Definition at line 129 of file TOPRawWaveform.h.

◆ getFeatureExtractionData()

const std::vector<FeatureExtraction>& getFeatureExtractionData ( ) const
inline

Returns feature extraction data.

Returns
FE data

Definition at line 268 of file TOPRawWaveform.h.

◆ getInfo()

std::string getInfo ( ) const
inlineinherited

Return a short summary of this object's contents in raw text format.

Returns the contents of getInfoHTML() while translating line-breaks etc.

Note
: You don't need to implement this function (it's not virtual), getInfoHTML() is enough.

Definition at line 370 of file RelationsObject.h.

◆ getInfoHTML()

virtual std::string getInfoHTML ( ) const
inlinevirtualinherited

Return a short summary of this object's contents in HTML format.

Reimplement this in your own class to provide useful output for display or debugging purposes. For example, you might do something like:

std::stringstream out;
out << "<b>PDG</b>: " << m_pdg << "<br>";
out << "<b>Covariance Matrix</b>: " << HTML::getString(getCovariance5()) << "<br>";
return out.str();
std::string getString(const TMatrixFBase &matrix, int precision=2, bool color=true)
get HTML table representing a matrix.
Definition: HTML.cc:24
See also
Particle::getInfoHTML() for a more complex example.
HTML for some utility functions.
Use getInfo() to get a raw text version of this output.

Reimplemented in RecoTrack, TRGSummary, TrackFitResult, Track, SoftwareTriggerResult, PIDLikelihood, MCParticle, Cluster, and Particle.

Definition at line 362 of file RelationsObject.h.

◆ getModuleID()

int getModuleID ( ) const
inline

Returns module ID.

Returns
module ID

Definition at line 117 of file TOPRawWaveform.h.

◆ getName()

virtual std::string getName ( ) const
inlinevirtualinherited

Return a short name that describes this object, e.g.

pi+ for an MCParticle.

Reimplemented in SpacePoint, MCParticle, and Particle.

Definition at line 344 of file RelationsObject.h.

◆ getOffsetWindows()

int getOffsetWindows ( ) const
inline

Returns number of windows before the "first one" which defines the time origin.

Returns
number of windows before the "first one"

Definition at line 185 of file TOPRawWaveform.h.

◆ getPhysicalWindow()

unsigned getPhysicalWindow ( ) const
inline

Returns hardware physical window number.

Returns
window number

Definition at line 159 of file TOPRawWaveform.h.

◆ getPixelID()

int getPixelID ( ) const
inline

Returns pixel ID (1-based)

Returns
pixel ID

Definition at line 123 of file TOPRawWaveform.h.

◆ getReferenceWindow()

unsigned getReferenceWindow ( ) const
inline

Returns IRS reference analog storage window (last write address).

This corresponds to the last window in the analog memory sampled. All timing is a "look-back" from this window.

Returns
window number

Definition at line 167 of file TOPRawWaveform.h.

◆ getRelated()

T* getRelated ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the object to or from which this object has a relation.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 278 of file RelationsObject.h.

◆ getRelatedFrom()

FROM* getRelatedFrom ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the object from which this object has a relation.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 263 of file RelationsObject.h.

◆ getRelatedFromWithWeight()

std::pair<FROM*, float> getRelatedFromWithWeight ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get first related object & weight of relation pointing from an array.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 314 of file RelationsObject.h.

◆ getRelatedTo()

TO* getRelatedTo ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the object to which this object has a relation.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 248 of file RelationsObject.h.

◆ getRelatedToWithWeight()

std::pair<TO*, float> getRelatedToWithWeight ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get first related object & weight of relation pointing to an array.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 297 of file RelationsObject.h.

◆ getRelatedWithWeight()

std::pair<T*, float> getRelatedWithWeight ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get first related object & weight of relation pointing from/to an array.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 331 of file RelationsObject.h.

◆ getRelationsFrom()

RelationVector<FROM> getRelationsFrom ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the relations that point from another store array to this object.

Template Parameters
FROMThe class of objects from which the relations point.
Parameters
nameThe name of the store array from which the relations point. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 212 of file RelationsObject.h.

◆ getRelationsTo()

RelationVector<TO> getRelationsTo ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the relations that point from this object to another store array.

Template Parameters
TOThe class of objects to which the relations point.
Parameters
nameThe name of the store array to which the relations point. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 197 of file RelationsObject.h.

◆ getRelationsWith()

RelationVector<T> getRelationsWith ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the relations between this object and another store array.

Relations in both directions are returned.

Template Parameters
TThe class of objects to or from which the relations point.
Parameters
nameThe name of the store array to or from which the relations point. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 230 of file RelationsObject.h.

◆ getRevo9Counter()

unsigned short getRevo9Counter ( ) const
inline

Returns 127 MHz clock ticks since last revo9 marker.

Returns
revo9counter

Definition at line 179 of file TOPRawWaveform.h.

◆ getScrodID()

unsigned getScrodID ( ) const
inline

Returns SCROD ID.

Returns
SCROD ID

Definition at line 135 of file TOPRawWaveform.h.

◆ getSize()

unsigned getSize ( ) const
inline

Returns waveform size.

Returns
size

Definition at line 215 of file TOPRawWaveform.h.

◆ getStartSample()

int getStartSample ( ) const
inline

Returns sample number of the first waveform sample.

Returns
sample number

Definition at line 147 of file TOPRawWaveform.h.

◆ getStorageWindow()

unsigned getStorageWindow ( ) const
inline

Returns hardware logic window number (storage window)

Returns
window number

Definition at line 141 of file TOPRawWaveform.h.

◆ getStorageWindows()

const std::vector<unsigned short>& getStorageWindows ( ) const
inline

Returns storage window numbers of waveform segments.

Returns
window numbers

Definition at line 173 of file TOPRawWaveform.h.

◆ getWaveform()

const std::vector<short>& getWaveform ( ) const
inline

Returns waveform.

Returns
vector of ADC values

Definition at line 221 of file TOPRawWaveform.h.

◆ isPedestalSubtracted()

bool isPedestalSubtracted ( ) const
inline

Tells whether pedestal already subtracted or not.

Returns
true if subtracted

Definition at line 153 of file TOPRawWaveform.h.

◆ setOffsetWindows()

void setOffsetWindows ( int  offsetWindows)
inline

Sets number of offset windows (windows before "first one") - MC only.

Parameters
offsetWindowsnumber of windows before "first one"

Definition at line 111 of file TOPRawWaveform.h.

◆ setRevo9Counter()

void setRevo9Counter ( unsigned short  revo9Counter)
inline

Sets number of global clock tics since last revo9 flag.

Parameters
revo9Countercounter state

Definition at line 105 of file TOPRawWaveform.h.


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