1 #include "AliStorageEventManager.h"
2 #include "AliStorageTypes.h"
6 #include <AliTrackPointArray.h>
7 #include <TXMLEngine.h>
11 TXMLEngine* xml = new TXMLEngine;
13 stringstream& getXml(AliESDEvent *event)
15 // Create main node of document tree
16 XMLNodePointer_t mainnode = xml->NewChild(0, 0, "main");
18 cout<<"tracks:"<<event->GetNumberOfTracks()<<endl;
19 XMLNodePointer_t tracks[event->GetNumberOfTracks()];
21 for(int i=0;i<event->GetNumberOfTracks();i++)
23 AliESDtrack *track = event->GetTrack(i);
24 tracks[i] = xml->NewChild(mainnode, 0, Form("track%d",i));
25 const AliTrackPointArray *array = track->GetTrackPointArray();
28 const float *x = array->GetX();
29 const float *y = array->GetY();
30 const float *z = array->GetZ();
31 int n = array->GetNPoints();
36 xml->NewChild(tracks[i], 0,Form("point%d",j),Form("%f\t%f\t%f\n",x[j],y[j],z[j]));
39 else cout<<"no array"<<endl;
42 stringstream streamXml;
43 xml->SavePrimitive(streamXml);
50 AliStorageEventManager *manager = AliStorageEventManager::GetEventManagerInstance();
51 manager->CreateSocket(EVENTS_SERVER_SUB);
56 event = manager->GetEvent(EVENTS_SERVER_SUB);
57 cout<<"sending xml"<<endl;
58 manager->Send(getXml(event),XML_PUB);
59 cout<<"xml sent"<<endl;