/* * File: TBAnalysis.h * Author: Daniel Kalin * * Created on 26. Januar 2014 */ #ifndef TBANALYSIS_H #define TBANALYSIS_H class TBAnalysis; #include "TBEvent.h" #include "TBCore.h" #include "TBDut.h" #include #include //#include "tbutils.h" #include #include #include //#include "clusters.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //standard #include //root #include #include #include class TBAnalysis { public: typedef int IDEN; std::string name; TBAnalysis() { TBAnalysis::name = "Unknown"; }; //Stuff to be done before anything else virtual void init(const TBCore* core) = 0; //How to process an event virtual void event(const TBCore* core, const TBEvent* event) = 0; //Stuff to be done after all events have been processed //virtual void finalize(const TbConfig &config) = 0; virtual void finalize(const TBCore* core) = 0; //Stuff to be done at the beginning of each run virtual void initRun(const TBCore* core){;} //Stuff to be done at the end of each run virtual void finalizeRun(const TBCore* core){;} }; typedef TBAnalysis* createTBA_t(); typedef void destroyTBA_t(TBAnalysis*); #endif /* TBANALYSIS_H */