7 #include "../MyTrack.h"
8 #include "../MyVertex.h"
19 r = ((
Event*)o)->run();
23 ((
Event*)o)->setRun( *(
long*)(argv[0]) );
39 MetaClass* meta1 =
new MetaClass(
"Event",
"Event header");
40 meta1->addField(
"event",
"long",
"Event Number", OffsetOf(
Event,m_event));
41 meta1->addField(
"run",
"long",
"Run Number", OffsetOf(
Event,m_run));
42 meta1->addField(
"time",
"Time",
"Event creation Time", OffsetOf(
Event,m_time));
43 meta1->addMethod(
"getRun",
"Get run number",
"long",
Event_run );
44 std::vector<std::string> argnames1;
45 argnames1.push_back(
"long");
46 meta1->addMethod(
"setRun",
"Set run number", argnames1,
Event_setRun );
48 MetaClass* meta2 =
new MetaClass(
"Time",
"Absolute time (64-bit) in ns");
49 meta2->addField(
"time",
"longlong",
"Time",OffsetOf(
Gaudi::Time,m_time));
51 MetaClass* meta3 =
new MetaClass(
"MyTrack",
"Track test object");
52 meta3->addField(
"px",
"float",
"Momentum in x direction", OffsetOf(
MyTrack,m_px));
53 meta3->addField(
"py",
"float",
"Momentum in y direction", OffsetOf(
MyTrack,m_py));
54 meta3->addField(
"pz",
"float",
"Momentum in z direction", OffsetOf(
MyTrack,m_pz));
55 meta3->addField(
"event",
"SmartRef<Event>",
"Link to event root",OffsetOf(
MyTrack,m_event));
56 meta3->addField(
"decay",
"SmartRef<MyVertex>",
"Link to decay Vertex", OffsetOf(
MyTrack,m_decay));
57 meta3->addMethod(
"getEvent",
"Get Event pointer",
"Event*",
MyTrack_event );
58 std::vector<std::string> argnames3;
59 argnames3.push_back(
"Event*");
62 MetaClass* meta4 =
new MetaClass(
"MyVertex",
"Vertex test object");
63 meta4->addField(
"x",
"double",
"Position in x", OffsetOf(
MyVertex,m_x));
64 meta4->addField(
"y",
"double",
"Position in y", OffsetOf(
MyVertex,m_y));
65 meta4->addField(
"z",
"double",
"Position in z", OffsetOf(
MyVertex,m_z));
66 meta4->addField(
"mother",
"SmartRef<MyTrack>",
"Link to mother Track", OffsetOf(
MyVertex,m_mother));
67 meta4->addField(
"daughters",
"SmartRefVector<MyTrack>",
"Link to daughter Tracks", OffsetOf(
MyVertex,m_daughters));
Essential information of the event used in examples It can be identified by "/Event".
void * Event_run(void *o)
Simple class that represents a vertex for testing purposes.
void * MyTrack_event(void *o)
void Event_setRun(void *o, std::vector< void * > argv)
void MyTrack_setEvent(void *o, std::vector< void * > argv)