Diana Software
Classes | Public Member Functions | Private Attributes | List of all members
MCoincidenceTiming Class Reference

Module to identify coincident events. More...

Inheritance diagram for MCoincidenceTiming:
QModule QBaseModule QModuleTimeProfiling

Classes

class  ChannelInfo
 
class  EventInfo
 

Public Member Functions

 MCoincidenceTiming (QSequence *s)
 constructor More...
 
virtual ~MCoincidenceTiming ()
 destructor More...
 
void Init ()
 Init method. More...
 
QEventDo (QEvent *ev)
 Do method. More...
 
void Done ()
 Done method. More...
 
- Public Member Functions inherited from QModule
 QModule ()
 constuctor More...
 
virtual ~QModule ()
 destructor More...
 
virtual void Init (QEvent &ev)=0
 Init method is called before event loop. More...
 
virtual void Do (QEvent &ev)
 Do method is called on each event, getting the event as argument. More...
 
virtual void Do (QEvent &ev, const QEventList &neighbours)
 Do method is called on each event, getting the event and its neighbours as argument. More...
 
- Public Member Functions inherited from QBaseModule
 QBaseModule (Type type)
 constructor More...
 
virtual ~QBaseModule ()
 constructor More...
 
double GetDouble (const std::string &parname, double defVal, bool warnCfg=true) const
 Get a double parameter from config file. More...
 
std::vector< double > GetVectorDouble (const std::string &parname, std::vector< double > defVal, bool warnCfg=true) const
 Get a std::vector<double> parameter from config file with syntax "{x,y,z}". More...
 
int GetInt (const std::string &parname, int defVal, bool warnCfg=true) const
 Get an int parameter from config file ( see GetDouble() ) More...
 
std::vector< int > GetVectorInt (const std::string &parname, std::vector< int > defVal, bool warnCfg=true) const
 Get an vector<int> parameter from config file ( see GetVectorDouble() ) More...
 
bool GetBool (const std::string &parname, bool defVal, bool warnCfg=true) const
 Get a bool parameter from config file ( see GetDouble() ) More...
 
std::vector< bool > GetVectorBool (const std::string &parname, std::vector< bool > defVal, bool warnCfg=true) const
 Get a vector<bool> parameter from config file ( see GetVectorDouble() ) More...
 
const std::string & GetString (const std::string &parname, const std::string &defVal, bool warnCfg=true) const
 Get a string parameter from config file ( see GetDouble() ) More...
 
std::vector< std::string > GetVectorString (const std::string &parname, std::vector< std::string > defVal, bool warnCfg=true) const
 Get a vector<string> parameter from config file ( see GetVectorDouble() ) More...
 
void Debug (const char *descr,...) const
 Send a debug message (used to debug the module) with printf syntax. More...
 
void Info (const char *descr,...) const
 Send an info message (information) with printf syntax. More...
 
void Warn (const char *descr,...) const
 Send a warning message (an error that the framework can recover) with printf syntax. More...
 
void Error (const char *descr,...) const
 Send an error message (an error that the framework cannot recover) with printf syntax. More...
 
void Panic (const char *descr,...) const
 Send a panic message (stops the framework) with printf syntax. More...
 
const QGlobalDataManagerGlobalData () const
 interface for saving and loading global QObjects More...
 
bool GetRunAgain () const
 Check if the sequence will be reiterated. More...
 
void SetRunAgain (bool b)
 Set that the sequence will be reiterated. More...
 
unsigned int GetIteration () const
 Get Current sequence iteration. More...
 
unsigned int GetOccurrence () const
 get the number of times the same module is loaded inside a QSequence More...
 
bool isEnabled () const
 check if module is enabled More...
 
std::string GetFullPath () const
 Get Full Path of module "GetName() + "." + GetOccurrence". More...
 
const std::string & GetName () const
 Get Module name. More...
 
const std::string & GetLabel () const
 Get Module name + the optional ExtraLabel ("name_extralabel") More...
 
MsgLevel GetVerbosity ()
 get verbosity level set from config file More...
 
const QSequenceGetSequence () const
 get reference to this sequence More...
 
void Update (QSequence *s, unsigned int occurrence)
 set the occurrence in the same sequence. MV FIXME: should not be public More...
 
bool NeedNeighbours ()
 check wheter this module needs neighbours (available after the first event is processed) More...
 
void BeginBase (QEventAssembler &ev)
 Begin Base method is called before event loop. More...
 
bool ProcessBase (QEventAssembler &ev, QEventList &evl, const bool exec, QEventList &ovl)
 ProcessBase method is called for each event, getting the event and as argument. More...
 
void EndBase ()
 EndBase method is called after event loop. More...
 
const std::vector< QEventLabel > & GetRequiredLabels () const
 Get labels of objects required by this module. More...
 

Private Attributes

std::string fDetectorSetupFile
 detector setup file for DB alternative More...
 
std::vector< EventInfofEventList
 List of events passing the filter(s) More...
 
std::map< int, unsigned int > fEventListIndex
 Index for fEventList based on event number. More...
 
std::string fFilteredEventsType
 Description of filtered events. More...
 
bool fIsRunDataLoaded
 Whether or not QRunData has been loaded. More...
 
std::map< int, ChannelInfofRelatedMap
 map of channels with their heater channel and relative channel on the same crystal More...
 
double fSamplingPeriod
 Sampling period from QRunData. More...
 
double fTimeWindow
 Time interval in which to search for coincident events. More...
 
bool fUsePulseStartTimeOffset
 Whether or not to adjust time of event based on pulse slewing. More...
 

Additional Inherited Members

- Public Types inherited from QBaseModule
enum  Type {
  Module , Filter , Reader , Writer ,
  Driver
}
 
- Protected Member Functions inherited from QBaseModule
QModuleConfigGetConfig ()
 Get module config. More...
 
void SetNeedNeighbours (bool need)
 set wheter this module needs neighbours More...
 
- Protected Member Functions inherited from QModuleTimeProfiling
 QModuleTimeProfiling ()
 ctor initialized internal variables More...
 
virtual ~QModuleTimeProfiling ()
 dtor does nothing More...
 
void SetTimeProfilingOn (bool val)
 Set the time profiling on/off. More...
 
bool GetTimeProfilingOn () const
 Check if the time profiling is on. More...
 
void ResetTimer ()
 Reset the timer to now. More...
 
double GetTimer () const
 return the time since the last reset More...
 
virtual void StartProcessCall ()
 Start of a process call. More...
 
virtual void EndProcessCall ()
 End a process call and increment time and calls. More...
 
unsigned long long GetProcessCalls () const
 Return the total number of process calls. More...
 
double GetTotalProcessTime () const
 Return the total processing time. More...
 
double GetProcessCallTime () const
 Return the average time of a single process call. More...
 
std::string GetTimeProfileReport (const std::string &prefix="") const
 Report the time profiling. More...
 
- Protected Attributes inherited from QBaseModule
bool fExecuted
 
- Protected Attributes inherited from QModuleTimeProfiling
bool fTimeProfilingOn
 Report the time profiling. More...
 
unsigned long long int fProcessCalls
 NUmber of calls to the process. More...
 
double fProcessTime
 Total time spent running the process. More...
 

Detailed Description

Module to identify coincident events.

Author
Adam Bryant (adam_.nosp@m.brya.nosp@m.nt@be.nosp@m.rkel.nosp@m.ey.ed.nosp@m.u)

Sets AuxData variables TimeSinceEvent_SameChannel, TimeSinceEvent_DifferentChannel, TimeUntilEvent_SameChannel, TimeUntilEvent_DifferentChannel, NumberOfCoincidentEvents, and NumberOfCoincidentEvents_SameHeaterGroup

Definition at line 77 of file MCoincidenceTiming.hh.

Constructor & Destructor Documentation

◆ MCoincidenceTiming()

MCoincidenceTiming::MCoincidenceTiming ( QSequence s)

constructor

Definition at line 35 of file MCoincidenceTiming.cc.

◆ ~MCoincidenceTiming()

MCoincidenceTiming::~MCoincidenceTiming ( )
virtual

destructor

Definition at line 40 of file MCoincidenceTiming.cc.

Member Function Documentation

◆ Do()

QEvent * MCoincidenceTiming::Do ( QEvent ev)

◆ Done()

void MCoincidenceTiming::Done ( )
virtual

Done method.

Implements QModule.

Definition at line 231 of file MCoincidenceTiming.cc.

References fEventList, fEventListIndex, QBaseModule::GetIteration(), and QBaseModule::SetRunAgain().

◆ Init()

void MCoincidenceTiming::Init ( )

Member Data Documentation

◆ fDetectorSetupFile

std::string MCoincidenceTiming::fDetectorSetupFile
private

detector setup file for DB alternative

Definition at line 121 of file MCoincidenceTiming.hh.

Referenced by Do(), and Init().

◆ fEventList

std::vector<EventInfo> MCoincidenceTiming::fEventList
private

List of events passing the filter(s)

Definition at line 124 of file MCoincidenceTiming.hh.

Referenced by Do(), and Done().

◆ fEventListIndex

std::map<int, unsigned int> MCoincidenceTiming::fEventListIndex
private

Index for fEventList based on event number.

Definition at line 127 of file MCoincidenceTiming.hh.

Referenced by Do(), and Done().

◆ fFilteredEventsType

std::string MCoincidenceTiming::fFilteredEventsType
private

Description of filtered events.

Definition at line 130 of file MCoincidenceTiming.hh.

Referenced by Do(), and Init().

◆ fIsRunDataLoaded

bool MCoincidenceTiming::fIsRunDataLoaded
private

Whether or not QRunData has been loaded.

Definition at line 133 of file MCoincidenceTiming.hh.

Referenced by Do(), and Init().

◆ fRelatedMap

std::map<int, ChannelInfo> MCoincidenceTiming::fRelatedMap
private

map of channels with their heater channel and relative channel on the same crystal

Definition at line 137 of file MCoincidenceTiming.hh.

Referenced by Do().

◆ fSamplingPeriod

double MCoincidenceTiming::fSamplingPeriod
private

Sampling period from QRunData.

Definition at line 140 of file MCoincidenceTiming.hh.

Referenced by Do().

◆ fTimeWindow

double MCoincidenceTiming::fTimeWindow
private

Time interval in which to search for coincident events.

Definition at line 143 of file MCoincidenceTiming.hh.

Referenced by Do(), and Init().

◆ fUsePulseStartTimeOffset

bool MCoincidenceTiming::fUsePulseStartTimeOffset
private

Whether or not to adjust time of event based on pulse slewing.

Definition at line 147 of file MCoincidenceTiming.hh.

Referenced by Do(), and Init().


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