QBaseModule Class Reference

Inheritance diagram for QBaseModule:

MDefaults QDriver QFilter QModule QReader QWriter MGuiDriver MTestDriver MWPSlowController MAmplitudeTrigger MApolloTrg MAvgPulseFilter MBadPulse MBComputeWeightsFilter MCoincidenceVeto MEnergyFilter MFilterByHeaterWord MFilterByReadNumber MFilterHeaterFlagByRegularTiming MFilterTest MLCNullIdFilter MLCPreprocessFilter MMuonFilter MOverlappedWindowFilter MPulseFitFilter MRawDataFilter MRejectBadEvents MRejectBadIntervals MReTrigger MRootFileCut MSampleInfoFilter MANNsom MApolloHistoMaker MApplyCalibration MAveragePulses MAveragePulsesOneIteration MBaselineModule MBComputeWeights MBCountPulses MBOBFilter MCalCoefficients MCalCompatibility MCheckHeaterDAQ MCheckOffsetAndSat MCheckTimeBehaviour MClearEvent MCoincidenceMultiplicity MCoincidenceTester MCoincidenceTiming MComputeFFT MCorrectAmplitudes MCreateDetectorConfig MCreateRateReference MDataReducer MDetermineHeaterProperties MFindBTDiscontinuities MFindCDiscontinuities MFindCoincidences MFindMultipleTrendsByBruteForce MFir MFitAmplBaseline MFlagCoincidence MHeaterHistoryPlots MLCCurveAnalyzer MLCSlowController MMultipletViewer MMuonCoincidence MNoiseAvgPowerSpectrum MOBChiSquareCut MOpenApolloFlag MOptimumFilter MPulseBasicParameters MPulseFit MPulserCheck MPulseStartTimeOffset MSaveCorrectedMuonTimes MSetHeaterFlag MSetOBChiSquareCuts MSetThreshold MSimpleDAQCheck MSorter MStabDbWriter MSynchronizeMeasurements MTestModule MTestRawEvent MTimeSort MUserModule MVibraAnal MWienerFilter MWPAnalyzer QCorcModule MApolloEventBuilder MPulseGenerator MQinoCompleteDataReader MQinoDataReader MQinoMiCompleteDataReader MQinoMiCompleteDataReaderFast MQinoNtpReader MQuickFileReader MRootFileReader MVibraDataReader QFileReader QFileWriter List of all members.

Detailed Description

Abstract class for modules.

Author:
M. Pallavicini, M. Vignati
Each module type, like QReader and QModule have to inherit from this base class that is managed by the QSequence through the Begin(), Process() and End() methods.
Public methods are intended to be used by QSequence Proctected methods are intended to be used inside modules and define the framework interfaces to modules


Public Member Functions

 QBaseModule (const std::string &, QSequence *s)
 constructor
virtual ~QBaseModule ()
 constructor
void BeginBase ()
 Begin method is called before event loop.
virtual void Begin ()=0
Cuore::QEvent * ProcessBase (Cuore::QEvent *ev)
 Process method is called for each event, getting the event as argument.
virtual Cuore::QEvent * Process (Cuore::QEvent *ev)=0
void EndBase ()
 End method is called after event loop.
virtual void End ()=0
unsigned int GetOccurrence () const
 get the number of times a same module is loaded inside a QSequence
bool isEnabled () const
 check if module is enabled
std::string GetFullPath () const

Protected Member Functions

double GetDouble (const std::string &, double defVal, bool warnCfg=true) const
 Get double parameter from config file.
int GetInt (const std::string &, int defVal, bool warnCfg=true) const
 Get int parameter from config file.
const std::string & GetString (const std::string &, const std::string &defVal, bool warnCfg=true) const
 Get string parameter from config file.
bool GetBool (const std::string &, bool defVal, bool warnCfg=true) const
 Get bool parameter from config file.
void Debug (const char *descr,...) const
 Send a debug message (used to debug the module) with printf syntax.
void Info (const char *descr,...) const
 Send an info message (information) with printf syntax.
void Warn (const char *descr,...) const
 Send a warning message (an error that the framework can recover) with printf syntax.
void Error (const char *descr,...) const
 Send an error message (an error that the framework cannot recover) with printf syntax.
void Panic (const char *descr,...) const
 Send a panic message (stops the framework) with printf syntax.
bool GetRunAgain ()
 Check if the sequence will be reiterated.
void SetRunAgain (bool b)
 Set that the sequence will be reiterated.
unsigned int GetIteration ()
 Get Current sequence iteration.
QGlobalDataManager & SeqAuxData ()
 interface for saving and loading sequence variables
MsgLevel GetVerbosity ()
 get verbosity level set from config file
QSequence & GetSequence ()
 get a pointer to the current sequence...do not use it!
const QSequence & GetSequence () const
void UpdateEnableFlag ()
 update enable flag

Private Member Functions

void SetOccurrence (unsigned int o)
 set the occurrence in the same sequence
void SetVerbosity (MsgLevel l=WarnMsg)

Private Attributes

MsgLevel verbosity
bool fTimeProfilingOn
unsigned int fOccurrence
double fProcessTime
unsigned long long int fProcessCalls
bool fEnabled
QSequence * my_sequence

Friends

class QModFactory
class QModuleFactory
class QSequence


The documentation for this class was generated from the following files:
Generated on Fri Mar 6 13:40:42 2009 for CUORE Software by  doxygen 1.5.1