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

Stores SVDModeByte object with Trigger time, DAQ mode, Run type & Event type! Also - the information of any inconsistencies of these variables within one event are stored. More...

#include <SVDEventInfo.h>

Inheritance diagram for SVDEventInfo:
Collaboration diagram for SVDEventInfo:

Public Member Functions

 SVDEventInfo (SVDModeByte mode=SVDModeByte(), SVDTriggerType type=SVDTriggerType())
 Constructor.
 
 ~SVDEventInfo ()
 Destructor.
 
void setMatchTriggerType (bool triggermatch)
 Match TriggerType setter Sets the flag telling us if the SVDTriggerType object is the same for each FADCs in the event.
 
void setMatchModeByte (bool modematch)
 Match ModeByte setter Sets the flag telling us if the SVDModeByte object is the same for each FADCs in the event.
 
void setModeByte (SVDModeByte mode)
 SVDModeByte setter Sets the SVDModeByte data in the EventInfo object.
 
void setTriggerType (SVDTriggerType type)
 SVDTriggerType setter Sets the type of SVDTrigger in the EventInfo object.
 
void setCrossTalk (bool xtalk)
 x-Talk setter Sets the x-talk info in the EventInfo object
 
void setRelativeShift (int relativeShift)
 relative 3/6 shift Sets the relative shift in latency in data taken in 3/6 samples int between 0 and 15 (shift is 0*7.9 .... More...
 
void setNSamples (int nAPVsamples)
 nAPVsamples setter Sets the number of acquired samples (3 or 6) found in the raw data
 
bool getMatchTriggerType ()
 Match TriggerType getter Gets the flag telling us if the SVDTriggerType object is the same for each FADCs in the event.
 
bool getMatchModeByte ()
 MatchModeByte getter Gets the flag telling us if the SVDModeByte object is the same for each FADCs in the event.
 
SVDModeByte getModeByte () const
 SVDModeByte getter Gets the SVDModeByte info for the event.
 
float getSVD2FTSWTimeShift (int firstFrame) const
 returns the time shift between SVD reference (t = 0 at the FF) and the FTSW (Trigger) reference
 
int getNSamples () const
 returns the number of samples: 6, 3 or 1
 
float getSamplingDelayInNs () const
 getSamplingDelayInNs() returns the delay of the sampling with respect to the sampling of the 6-sample DAQ mode For 6-sample event it returns 0, for 3-sample events computes the delay using the relativeShift information
 
int getRelativeShift () const
 getRelativeShift returns the relative shift in data taken in 3/6 samples A number between 0 and 15 as written in the xml file
 
double getTimeInFTSWReference (double time_in_SVD, int firstFrame) const
 getTimeInFTSWReference it takes the cluster time in SVD reference (t = 0 at FF, in either 3- or 6-sample DAQ mode) and the firstFrame and provides the time in the FTWS reference. More...
 
bool setAPVClock (DBObjPtr< HardwareClockSettings > hwClock)
 sets the APV clock period. More...
 
double getTimeInSVDReference (double time_in_FTSW, int firstFrame) const
 getTimeInSVDReference it takes the cluster time in FTSW reference and provides the time in the SVD reference (t = 0 at FF) for that event. More...
 
SVDTriggerType getTriggerType () const
 SVDTriggerType getter Gets the type of SVDTrigger for the event.
 
bool isCrossTalkEvent ()
 X-talk info getter Gets the X-talk info for the event.
 
std::string toString () const
 Display main parameters in this object.
 

Private Member Functions

 ClassDef (SVDEventInfo, 3)
 class def needed by root
 

Private Attributes

SVDModeByte::baseType m_modeByte = SVDModeByte::c_DefaultID
 SVDModeByte object (runType + eventType + DAQmode + TriggerBin)
 
SVDTriggerType::baseType m_triggerType
 information on the Trigger type
 
bool m_ModeByteMatch
 flag telling if the SVDModeByte object is the same for each FADCs in the event
 
bool m_TriggerTypeMatch
 flag telling if the SVDTriggerType object is the same for each FADCs in the event
 
bool m_Xtalk = false
 information on the x-talk
 
int m_relativeTimeShift = 0
 relative shift in units of APV-clock/4 between 3- and 6-sample acquired events
 
int m_nAPVsamples = 0
 number of acquired samples
 
double m_apvClockPeriod = 16000. / 509.
 APV clock period.
 

Detailed Description

Stores SVDModeByte object with Trigger time, DAQ mode, Run type & Event type! Also - the information of any inconsistencies of these variables within one event are stored.

For data this object will be filled by the SVDUnpacker once per event

For simulation there is the SVDEventInfoSetter module to set the parameters

Definition at line 31 of file SVDEventInfo.h.

Member Function Documentation

◆ getTimeInFTSWReference()

double getTimeInFTSWReference ( double  time_in_SVD,
int  firstFrame 
) const
inline

getTimeInFTSWReference it takes the cluster time in SVD reference (t = 0 at FF, in either 3- or 6-sample DAQ mode) and the firstFrame and provides the time in the FTWS reference.

DO NOT USE WITH EventT0! In the SVD reference t=0 is the time of the first sample, regardless if the event is acquired in 3- or 6-sample DAQ mode

Definition at line 141 of file SVDEventInfo.h.

142  {
143  return time_in_SVD + getSamplingDelayInNs() + getSVD2FTSWTimeShift(firstFrame);
144  }
float getSVD2FTSWTimeShift(int firstFrame) const
returns the time shift between SVD reference (t = 0 at the FF) and the FTSW (Trigger) reference
Definition: SVDEventInfo.h:99
float getSamplingDelayInNs() const
getSamplingDelayInNs() returns the delay of the sampling with respect to the sampling of the 6-sample...
Definition: SVDEventInfo.h:114

◆ getTimeInSVDReference()

double getTimeInSVDReference ( double  time_in_FTSW,
int  firstFrame 
) const
inline

getTimeInSVDReference it takes the cluster time in FTSW reference and provides the time in the SVD reference (t = 0 at FF) for that event.

If used with EventT0, it returns EventT0 synchronized to the SVD reference. In the SVD reference t=0 is the time of the first sample, regardless if the event is acquired in 3- or 6-sample DAQ mode

Definition at line 167 of file SVDEventInfo.h.

◆ setAPVClock()

bool setAPVClock ( DBObjPtr< HardwareClockSettings hwClock)
inline

sets the APV clock period.

This operation can be done only in an event(). return false if the HardwareClockSettings DBObject is not valid, in this case the APV clock period is set to be 16000. / 509.; returns true when the operation is successfull.

Definition at line 151 of file SVDEventInfo.h.

◆ setRelativeShift()

void setRelativeShift ( int  relativeShift)
inline

relative 3/6 shift Sets the relative shift in latency in data taken in 3/6 samples int between 0 and 15 (shift is 0*7.9 ....

15*7.9 in ns)

Definition at line 73 of file SVDEventInfo.h.


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