![]() |
Diana Software
|
Module to identify coincident events. More...
Classes | |
| class | ChannelInfo |
| class | EventInfo |
Public Member Functions | |
| MCoincidenceTiming (QSequence *s) | |
| constructor More... | |
| virtual | ~MCoincidenceTiming () |
| destructor More... | |
| void | Init () |
| Init method. More... | |
| QEvent * | Do (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 QGlobalDataManager & | GlobalData () 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 QSequence & | GetSequence () 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< EventInfo > | fEventList |
| 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, ChannelInfo > | fRelatedMap |
| 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 | |
| QModuleConfig & | GetConfig () |
| 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... | |
Module to identify coincident events.
Sets AuxData variables TimeSinceEvent_SameChannel, TimeSinceEvent_DifferentChannel, TimeUntilEvent_SameChannel, TimeUntilEvent_DifferentChannel, NumberOfCoincidentEvents, and NumberOfCoincidentEvents_SameHeaterGroup
module CoincidenceTiming verbosity = info enable = true UsePulseStartTimeOffset = false TimeWindow = 0.050 DetectorSetupFile = DB FilteredEventsType = endmod
# begin RelativeBolometers
# QMatrix
# 24 3
# Ch HeaterCh Relative
1 1 23
2 1 24
3 3 -1
# end RelativeBolometersFilteredEventsType [string = ""]:
Optional parameter to describe the type of events selected by filters
before this module. It will be part of the AuxData variable names. For
example, if FilteredEventsType = Heater, the AuxData variables will be
TimeSinceHeaterEvent_DifferentChannel, TimeSinceHeaterEvent_SameChannel,
etc.
Definition at line 77 of file MCoincidenceTiming.hh.
| MCoincidenceTiming::MCoincidenceTiming | ( | QSequence * | s | ) |
constructor
Definition at line 35 of file MCoincidenceTiming.cc.
|
virtual |
destructor
Definition at line 40 of file MCoincidenceTiming.cc.
Do method.
Definition at line 56 of file MCoincidenceTiming.cc.
References MCoincidenceTiming::EventInfo::ApplyOffset(), err, MCoincidenceTiming::EventInfo::fChannel, fDetectorSetupFile, fEventList, fEventListIndex, MCoincidenceTiming::EventInfo::fEventNumber, fFilteredEventsType, MCoincidenceTiming::EventInfo::fHeaterChannel, fIsRunDataLoaded, MCoincidenceTiming::EventInfo::fPassed, fRelatedMap, MCoincidenceTiming::EventInfo::fRelative, fSamplingPeriod, MCoincidenceTiming::EventInfo::fTimeFromStartRunNs, fTimeWindow, fUsePulseStartTimeOffset, QBaseModule::GetIteration(), and QBaseModule::Info().
|
virtual |
Done method.
Implements QModule.
Definition at line 231 of file MCoincidenceTiming.cc.
References fEventList, fEventListIndex, QBaseModule::GetIteration(), and QBaseModule::SetRunAgain().
| void MCoincidenceTiming::Init | ( | ) |
Init method.
Definition at line 44 of file MCoincidenceTiming.cc.
References fDetectorSetupFile, fFilteredEventsType, fIsRunDataLoaded, fTimeWindow, fUsePulseStartTimeOffset, QBaseModule::GetBool(), QBaseModule::GetDouble(), QBaseModule::GetIteration(), and QBaseModule::GetString().
|
private |
detector setup file for DB alternative
Definition at line 121 of file MCoincidenceTiming.hh.
|
private |
List of events passing the filter(s)
Definition at line 124 of file MCoincidenceTiming.hh.
|
private |
Index for fEventList based on event number.
Definition at line 127 of file MCoincidenceTiming.hh.
|
private |
Description of filtered events.
Definition at line 130 of file MCoincidenceTiming.hh.
|
private |
Whether or not QRunData has been loaded.
Definition at line 133 of file MCoincidenceTiming.hh.
|
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().
|
private |
Sampling period from QRunData.
Definition at line 140 of file MCoincidenceTiming.hh.
Referenced by Do().
|
private |
Time interval in which to search for coincident events.
Definition at line 143 of file MCoincidenceTiming.hh.
|
private |
Whether or not to adjust time of event based on pulse slewing.
Definition at line 147 of file MCoincidenceTiming.hh.