ROOTANA
Loading...
Searching...
No Matches
manalyzer_example_cxx.cxx
Go to the documentation of this file.
1//
2// MIDAS analyzer example 1: pure C++ analyzer
3//
4// K.Olchanski
5//
6
7#include <stdio.h>
8
9#include "manalyzer.h"
10#include "midasio.h"
11
13{
14public:
16 : TARunObject(runinfo)
17 {
18 printf("ExampleCxx::ctor, run %d, file %s\n", runinfo->fRunNo, runinfo->fFileName.c_str());
20 fModuleName = "ExampleCxx";
21 fModuleOrder = 0;
22 }
23
25 {
26 printf("ExampleCxx::dtor!\n");
27 }
28
29 void BeginRun(TARunInfo* runinfo)
30 {
31 printf("ExampleCxx::BeginRun, run %d, file %s\n", runinfo->fRunNo, runinfo->fFileName.c_str());
33 }
34
35 void EndRun(TARunInfo* runinfo)
36 {
37 printf("ExampleCxx::EndRun, run %d\n", runinfo->fRunNo);
38 printf("Counted %d events in run %d\n", fRunEventCounter, runinfo->fRunNo);
39 }
40
41 void NextSubrun(TARunInfo* runinfo)
42 {
43 printf("ExampleCxx::NextSubrun, run %d, file %s\n", runinfo->fRunNo, runinfo->fFileName.c_str());
44 }
45
46 void PauseRun(TARunInfo* runinfo)
47 {
48 printf("ExampleCxx::PauseRun, run %d\n", runinfo->fRunNo);
49 }
50
51 void ResumeRun(TARunInfo* runinfo)
52 {
53 printf("ExampleCxx::ResumeRun, run %d\n", runinfo->fRunNo);
54 }
55
56 TAFlowEvent* Analyze(TARunInfo* runinfo, TMEvent* event, TAFlags* flags, TAFlowEvent* flow)
57 {
58 printf("ExampleCxx::Analyze, run %d, event serno %d, id 0x%04x, data size %d\n", runinfo->fRunNo, event->serial_number, (int)event->event_id, event->data_size);
59 //event->old_event.SetBankList();
60 //event->old_event.Print();
61
63
64 return flow;
65 }
66
67 void AnalyzeSpecialEvent(TARunInfo* runinfo, TMEvent* event)
68 {
69 printf("ExampleCxx::AnalyzeSpecialEvent, run %d, event serno %d, id 0x%04x, data size %d\n", runinfo->fRunNo, event->serial_number, (int)event->event_id, event->data_size);
70 }
71
73};
74
76{
77public:
78 void Usage()
79 {
80 printf("\tExample TAFactory Usage!\n");
81 printf("\tPrint valid arguements for this modules here!");
82 }
83
84 void Init(const std::vector<std::string> &args)
85 {
86 printf("ExampleCxxFactory::Init!\n");
87 printf("Arguments:\n");
88 for (unsigned i=0; i<args.size(); i++)
89 printf("arg[%d]: [%s]\n", i, args[i].c_str());
90 }
91
92 void Finish()
93 {
94 printf("ExampleCxxFactory::Finish!\n");
95 }
96
98 {
99 printf("ExampleCxxFactory::NewRunObject, run %d, file %s\n", runinfo->fRunNo, runinfo->fFileName.c_str());
100 return new ExampleCxx(runinfo);
101 }
102};
103
105
106/* emacs
107 * Local Variables:
108 * tab-width: 8
109 * c-basic-offset: 3
110 * indent-tabs-mode: nil
111 * End:
112 */
void Init(const std::vector< std::string > &args)
TARunObject * NewRunObject(TARunInfo *runinfo)
void AnalyzeSpecialEvent(TARunInfo *runinfo, TMEvent *event)
void BeginRun(TARunInfo *runinfo)
ExampleCxx(TARunInfo *runinfo)
void EndRun(TARunInfo *runinfo)
void PauseRun(TARunInfo *runinfo)
TAFlowEvent * Analyze(TARunInfo *runinfo, TMEvent *event, TAFlags *flags, TAFlowEvent *flow)
void ResumeRun(TARunInfo *runinfo)
void NextSubrun(TARunInfo *runinfo)
std::string fFileName
Definition manalyzer.h:25
int fRunNo
Definition manalyzer.h:24
std::string fModuleName
Definition manalyzer.h:91
int fModuleOrder
Definition manalyzer.h:92
uint32_t serial_number
MIDAS event serial number.
Definition midasio.h:59
uint32_t data_size
MIDAS event data size.
Definition midasio.h:61
uint16_t event_id
MIDAS event ID.
Definition midasio.h:57
int TAFlags
Definition manalyzer.h:79
static TARegister tar(new ExampleCxxFactory)