Skip to content

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