Midas C++ API - manalyzer analyzer framework
This page contains the full API reference for manalyzer (manalyzer/manalyzer.h), the C++ framework for analysing midas data, either online or from midas files.
For writing and running an analyzer, see manalyzer. For the other ways of analysing midas data, see Data analysis.
For reading the events themselves, see midasio.
manalyzer/manalyzer.h
Classes
TAFactory
Defined in manalyzer/manalyzer.h:116
Methods
Finish
virtual
virtual void Finish()
Declared in manalyzer/manalyzer.h:128, defined in manalyzer/manalyzer.cxx:201
Init
virtual
virtual void Init(const std::vector<std::string> &args)
Declared in manalyzer/manalyzer.h:127, defined in manalyzer/manalyzer.cxx:195
NewRunObject
virtualpure virtual
virtual TARunObject*NewRunObject(TARunInfo* runinfo) = 0
Defined in manalyzer/manalyzer.h:123
TAFactory
TAFactory()
Defined in manalyzer/manalyzer.h:119
Usage
virtual
virtual void Usage()
Declared in manalyzer/manalyzer.h:126, defined in manalyzer/manalyzer.cxx:189
~TAFactory
virtual
virtual ~TAFactory()
Defined in manalyzer/manalyzer.h:120
TAFactoryTemplate
template<class T>
class TAFactoryTemplate : public TAFactory
Defined in manalyzer/manalyzer.h:131
TAFlowEvent
Defined in manalyzer/manalyzer.h:55
Methods
Find
template<class T>
T*Find()
Defined in manalyzer/manalyzer.h:64
TAFlowEvent
TAFlowEvent(TAFlowEvent* flow)
ctor
Declared in manalyzer/manalyzer.h:61, defined in manalyzer/manalyzer.cxx:91
~TAFlowEvent
virtual
virtual ~TAFlowEvent()
dtor
Declared in manalyzer/manalyzer.h:62, defined in manalyzer/manalyzer.cxx:98
Attributes
fNext
TAFlowEvent* fNext = NULL
Defined in manalyzer/manalyzer.h:58
TAMultithreadHelper
Defined in manalyzer/manalyzer.h:184
Methods
TAMultithreadHelper
TAMultithreadHelper(int nModules)
ctor
Declared in manalyzer/manalyzer.h:207, defined in manalyzer/manalyzer.cxx:507
~TAMultithreadHelper
~TAMultithreadHelper()
dtor
Declared in manalyzer/manalyzer.h:208, defined in manalyzer/manalyzer.cxx:527
Attributes
fMtFlagQueue
std::vector<TAFlagsQueue> fMtFlagQueue
flags queue
Defined in manalyzer/manalyzer.h:189
fMtFlowQueue
std::vector<TAFlowEventQueue> fMtFlowQueue
event queue
Defined in manalyzer/manalyzer.h:188
fMtFlowQueueMutex
std::vector<std::mutex> fMtFlowQueueMutex
per-module queues and threads queue lock
Defined in manalyzer/manalyzer.h:187
fMtQueueDepth
size_t fMtQueueDepth = 0
queue settings maximum number of flow events to queue
Defined in manalyzer/manalyzer.h:199
fMtQueueEmptyUSleepTime
int fMtQueueEmptyUSleepTime = 0
u seconds
Defined in manalyzer/manalyzer.h:201
fMtQueueFullUSleepTime
int fMtQueueFullUSleepTime = 0
u seconds
Defined in manalyzer/manalyzer.h:200
fMtQuitRequested
std::atomic<bool> fMtQuitRequested
flag TAFlag_QUIT from per-module threads
Defined in manalyzer/manalyzer.h:196
fMtShutdownRequested
std::atomic<bool> fMtShutdownRequested
shutdown and quit control flag to shutdown all threads
Defined in manalyzer/manalyzer.h:195
fMtThreadIsBusy
std::vector<std::atomic<bool>> fMtThreadIsBusy
"thread is analyzing an event" flag
Defined in manalyzer/manalyzer.h:192
fMtThreadIsRunning
std::vector<std::atomic<bool>> fMtThreadIsRunning
"thread is running" flag
Defined in manalyzer/manalyzer.h:191
fMtThreads
std::vector<std::thread*> fMtThreads
threads
Defined in manalyzer/manalyzer.h:190
gfLock
static
static std::mutex gfLock
globals Lock for modules to execute code that is not thread safe (many root fitting libraries)
Defined in manalyzer/manalyzer.h:204
TARegister
Defined in manalyzer/manalyzer.h:139
Methods
TARegister
TARegister(TAFactory* m)
Declared in manalyzer/manalyzer.h:142, defined in manalyzer/manalyzer.cxx:642
TARootHelper
Defined in manalyzer/manalyzer.h:157
Methods
Init
void Init()
Declared in manalyzer/manalyzer.h:174, defined in manalyzer/manalyzer.cxx:242
TARootHelper
TARootHelper(const TARunInfo* runinfo)
ctor
Declared in manalyzer/manalyzer.h:172, defined in manalyzer/manalyzer.cxx:223
~TARootHelper
~TARootHelper()
dtor
Declared in manalyzer/manalyzer.h:173, defined in manalyzer/manalyzer.cxx:282
Attributes
fgApp
static
static TApplication* fgApp = NULL
Defined in manalyzer/manalyzer.h:167
fgDir
static
static TDirectory* fgDir = NULL
Defined in manalyzer/manalyzer.h:166
fgHttpServer
static
static THttpServer* fgHttpServer = NULL
Defined in manalyzer/manalyzer.h:168
fgOutputRootFiles
static
static std::vector<std::string> fgOutputRootFiles
Defined in manalyzer/manalyzer.h:169
fgUserOutputDirectory
static
static std::string fgUserOutputDirectory = "root_output_files"
Defined in manalyzer/manalyzer.h:164
fgUserOutputFileName
static
static std::string fgUserOutputFileName
Defined in manalyzer/manalyzer.h:165
fOutputFile
TFile* fOutputFile = NULL
Defined in manalyzer/manalyzer.h:161
fOutputFileName
std::string fOutputFileName
Defined in manalyzer/manalyzer.h:160
TARunInfo
Defined in manalyzer/manalyzer.h:21
Methods
AddToFlowQueue
void AddToFlowQueue(TAFlowEvent* flow)
Declared in manalyzer/manalyzer.h:41, defined in manalyzer/manalyzer.cxx:1545
ReadFlowQueue
TAFlowEvent*ReadFlowQueue()
Declared in manalyzer/manalyzer.h:42, defined in manalyzer/manalyzer.cxx:1535
SetAfterPreEndRun
void SetAfterPreEndRun()
Defined in manalyzer/manalyzer.h:52
TARunInfo
TARunInfo(int runno, const char* filename, const std::vector<std::string>& args)
Declared in manalyzer/manalyzer.h:37, defined in manalyzer/manalyzer.cxx:34
~TARunInfo
~TARunInfo()
Declared in manalyzer/manalyzer.h:38, defined in manalyzer/manalyzer.cxx:51
Attributes
fArgs
std::vector<std::string> fArgs
Defined in manalyzer/manalyzer.h:29
fBorOdbDump
std::vector<char> fBorOdbDump
Defined in manalyzer/manalyzer.h:30
fEorOdbDump
std::vector<char> fEorOdbDump
Defined in manalyzer/manalyzer.h:31
fFileName
std::string fFileName
Defined in manalyzer/manalyzer.h:25
fgCurrentFileIndex
static
static int fgCurrentFileIndex = 0
this global variable is initialized in manalyzer.cxx
Defined in manalyzer/manalyzer.h:34
fgFileList
static
static std::vector<std::string> fgFileList
Defined in manalyzer/manalyzer.h:33
fMtInfo
TAMultithreadHelper* fMtInfo = NULL
Defined in manalyzer/manalyzer.h:28
fOdb
MVOdb* fOdb = NULL
Defined in manalyzer/manalyzer.h:26
fRoot
TARootHelper* fRoot = NULL
Defined in manalyzer/manalyzer.h:27
fRunNo
int fRunNo = 0
Defined in manalyzer/manalyzer.h:24
TARunObject
Defined in manalyzer/manalyzer.h:88
Methods
Analyze
virtual
virtual TAFlowEvent*Analyze(TARunInfo* runinfo, TMEvent* event, TAFlags* flags, TAFlowEvent* flow)
Declared in manalyzer/manalyzer.h:108, defined in manalyzer/manalyzer.cxx:155
AnalyzeFlowEvent
virtual
virtual TAFlowEvent*AnalyzeFlowEvent(TARunInfo* runinfo, TAFlags* flags, TAFlowEvent* flow)
Declared in manalyzer/manalyzer.h:109, defined in manalyzer/manalyzer.cxx:166
AnalyzeSpecialEvent
virtual
virtual void AnalyzeSpecialEvent(TARunInfo* runinfo, TMEvent* event)
Declared in manalyzer/manalyzer.h:110, defined in manalyzer/manalyzer.cxx:177
BeginRun
virtual
virtual void BeginRun(TARunInfo* runinfo)
Declared in manalyzer/manalyzer.h:99, defined in manalyzer/manalyzer.cxx:119
EndRun
virtual
virtual void EndRun(TARunInfo* runinfo)
Declared in manalyzer/manalyzer.h:100, defined in manalyzer/manalyzer.cxx:125
NextSubrun
virtual
virtual void NextSubrun(TARunInfo* runinfo)
Declared in manalyzer/manalyzer.h:101, defined in manalyzer/manalyzer.cxx:131
PauseRun
virtual
virtual void PauseRun(TARunInfo* runinfo)
Declared in manalyzer/manalyzer.h:103, defined in manalyzer/manalyzer.cxx:137
PreEndRun
virtual
virtual void PreEndRun(TARunInfo* runinfo)
Declared in manalyzer/manalyzer.h:106, defined in manalyzer/manalyzer.cxx:149
ResumeRun
virtual
virtual void ResumeRun(TARunInfo* runinfo)
Declared in manalyzer/manalyzer.h:104, defined in manalyzer/manalyzer.cxx:143
TARunObject
TARunObject(TARunInfo* runinfo)
Declared in manalyzer/manalyzer.h:95, defined in manalyzer/manalyzer.cxx:113
~TARunObject
virtual
virtual ~TARunObject()
Defined in manalyzer/manalyzer.h:96
Attributes
fModuleName
std::string fModuleName
Defined in manalyzer/manalyzer.h:91
fModuleOrder
int fModuleOrder = 0
Defined in manalyzer/manalyzer.h:92
TAUserProfilerFlow
class TAUserProfilerFlow : public TAFlowEvent
Defined in manalyzer/manalyzer.h:224
Methods
GetTimer
const
double GetTimer() const
Declared in manalyzer/manalyzer.h:236, defined in manalyzer/manalyzer.cxx:674
TAUserProfilerFlow
TAUserProfilerFlow(TAFlowEvent* flow, const char* name, const TAClock& start)
Declared in manalyzer/manalyzer.h:234, defined in manalyzer/manalyzer.cxx:664
~TAUserProfilerFlow
~TAUserProfilerFlow()
dtor
Declared in manalyzer/manalyzer.h:235, defined in manalyzer/manalyzer.cxx:670
Attributes
fModuleName
const std::string fModuleName
Defined in manalyzer/manalyzer.h:231
fStart
TAClock fStart
Defined in manalyzer/manalyzer.h:227
fStop
TAClock fStop
Defined in manalyzer/manalyzer.h:228
Type definitions
TAClock
typedef std::chrono::high_resolution_clock::time_point TAClock
Defined in manalyzer/manalyzer.h:218
TAClockDuration
typedef std::chrono::duration<double> TAClockDuration
Defined in manalyzer/manalyzer.h:219
TAFlags
typedef int TAFlags
Defined in manalyzer/manalyzer.h:79
TAFlagsQueue
typedef std::deque<TAFlags*> TAFlagsQueue
Defined in manalyzer/manalyzer.h:182
TAFlowEventQueue
typedef std::deque<TAFlowEvent*> TAFlowEventQueue
Defined in manalyzer/manalyzer.h:181
Functions
manalyzer_main
int manalyzer_main(int argc, char* argv[])
Declared in manalyzer/manalyzer.h:241, defined in manalyzer/manalyzer.cxx:3056
TAClockNow
inline
inline TAClock TAClockNow()
Defined in manalyzer/manalyzer.h:220
Macros
HAVE_MANALYZER_PROFILER
#define HAVE_MANALYZER_PROFILER 1
Defined in manalyzer/manalyzer.h:213
TAFlag_DISPLAY
#define TAFlag_DISPLAY (1<<3)
Defined in manalyzer/manalyzer.h:85
TAFlag_OK
#define TAFlag_OK 0
Defined in manalyzer/manalyzer.h:81
TAFlag_QUIT
#define TAFlag_QUIT (1<<1)
Defined in manalyzer/manalyzer.h:83
TAFlag_SKIP
#define TAFlag_SKIP (1<<0)
Defined in manalyzer/manalyzer.h:82
TAFlag_SKIP_PROFILE
#define TAFlag_SKIP_PROFILE (1<<4)
Defined in manalyzer/manalyzer.h:86
TAFlag_WRITE
#define TAFlag_WRITE (1<<2)
Defined in manalyzer/manalyzer.h:84