34 TARunInfo(
int runno,
const char* filename,
const std::vector<std::string>& args);
57 template<
class T> T*
Find()
61 T *ptr =
dynamic_cast<T*
>(f);
75 #define TAFlag_SKIP (1<<0)
76 #define TAFlag_QUIT (1<<1)
77 #define TAFlag_WRITE (1<<2)
78 #define TAFlag_DISPLAY (1<<3)
79 #define TAFlag_SKIP_PROFILE (1<<4)
118 virtual void Usage();
119 virtual void Init(
const std::vector<std::string> &args);
127 return new T(runinfo);
143 #include "TDirectory.h"
144 #include "TApplication.h"
202 #define HAVE_MANALYZER_PROFILER 1
207 typedef std::chrono::high_resolution_clock::time_point
TAClock;
virtual void Init(const std::vector< std::string > &args)
virtual TARunObject * NewRunObject(TARunInfo *runinfo)=0
T * NewRunObject(TARunInfo *runinfo)
int fMtQueueFullUSleepTime
std::vector< TAFlagsQueue > fMtFlagQueue
std::vector< std::mutex > fMtFlowQueueMutex
int fMtQueueEmptyUSleepTime
std::atomic< bool > fMtShutdownRequested
std::vector< std::thread * > fMtThreads
std::vector< std::atomic< bool > > fMtThreadIsBusy
TAMultithreadHelper(int nModules)
static int gfMtMaxBacklog
static bool gfMultithread
std::vector< TAFlowEventQueue > fMtFlowQueue
std::vector< std::atomic< bool > > fMtThreadIsRunning
std::atomic< bool > fMtQuitRequested
static std::string fOutputDirectory
static TApplication * fgApp
static std::string fOutputFileName
static THttpServer * fgHttpServer
static TDirectory * fgDir
void AddToFlowQueue(TAFlowEvent *)
TAFlowEvent * ReadFlowQueue()
std::vector< std::string > fArgs
std::deque< TAFlowEvent * > fFlowQueue
static std::vector< std::string > fgFileList
TAMultithreadHelper * fMtInfo
static int fgCurrentFileIndex
virtual void EndRun(TARunInfo *runinfo)
virtual void ResumeRun(TARunInfo *runinfo)
virtual void AnalyzeSpecialEvent(TARunInfo *runinfo, TMEvent *event)
virtual void NextSubrun(TARunInfo *runinfo)
virtual TAFlowEvent * Analyze(TARunInfo *runinfo, TMEvent *event, TAFlags *flags, TAFlowEvent *flow)
virtual void PauseRun(TARunInfo *runinfo)
virtual void BeginRun(TARunInfo *runinfo)
virtual TAFlowEvent * AnalyzeFlowEvent(TARunInfo *runinfo, TAFlags *flags, TAFlowEvent *flow)
virtual void PreEndRun(TARunInfo *runinfo)
TAUserProfilerFlow(TAFlowEvent *flow, const char *name, const TAClock &start)
const std::string fModuleName
std::chrono::high_resolution_clock::time_point TAClock
int manalyzer_main(int argc, char *argv[])
std::chrono::duration< double > TAClockDuration
std::deque< TAFlowEvent * > TAFlowEventQueue
std::deque< TAFlags * > TAFlagsQueue