// -*- C++/l -*- // // Description: Determine timing marker positions and cosmic trigger performance // // Author: Thomas Lindner // Created: Feb 3, 2011 // // COMET Include Files #include #include // SOFF include files #include "ISOFFTaskManager.hxx" //#include "IFGDDataQuality.hxx" #include "IFGDTimingMarkerHisto.hxx" #include "IFGDTriggerCheckTask.hxx" class IFGDRawData : public COMET::ICOMETEventLoopFunction { private: ISOFFTaskManager *manager; public: IFGDRawData(); virtual ~IFGDRawData() { delete manager; } bool operator () (COMET::ICOMETEvent& event); void Initialize(); void Finalize(COMET::ICOMETOutput* output); using COMET::ICOMETEventLoopFunction::Finalize; bool SetOption( std::string option, std::string value ); }; /// Constructor; initialize the soff task manager. IFGDRawData::IFGDRawData() { manager = new ISOFFTaskManager(); // Add the FGD Timing marker data quality module manager->AddTask(new IFGDTimingMarkerHisto()); // Add the FGD Trigger checking data quality module manager->AddTask(new IFGDTriggerCheckTask()); } /// At Initialize call the manager initialization. void IFGDRawData::Initialize() { manager->Initialize(); } // Main processing method bool IFGDRawData::operator () (COMET::ICOMETEvent& event) { manager->Process(event); return true; } /// Finalize method void IFGDRawData::Finalize(COMET::ICOMETOutput* output) { manager->Finalize(); } bool IFGDRawData::SetOption( std::string option, std::string value ) { return manager->SetOption( option, value ); } //********************************************** int main(int argc, char *argv[]) { IFGDRawData userCode; cometEventLoop(argc,argv,userCode); }