]>
Commit | Line | Data |
---|---|---|
c1b83ab9 | 1 | #ifndef ALIXMLCOLLECTION_H |
2 | #define ALIXMLCOLLECTION_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | //------------------------------------------------------------------------- | |
10 | // Class AliXMLCollection | |
11 | // This is the class that creates XML collections after querying the tags | |
12 | // | |
13 | // Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch | |
14 | //------------------------------------------------------------------------- | |
15 | ||
16 | #include <TObject.h> | |
1ca27a6f | 17 | #include "TGridCollection.h" |
c1b83ab9 | 18 | #include <Riostream.h> |
19 | #include <TString.h> | |
20 | ||
1ca27a6f | 21 | class TMap; |
22 | class TIter; | |
c1b83ab9 | 23 | class TEventList; |
1ca27a6f | 24 | class TEntryList; |
c1b83ab9 | 25 | |
26 | //___________________________________________________________________________ | |
1ca27a6f | 27 | class AliXMLCollection : public TGridCollection { |
c1b83ab9 | 28 | |
29 | public: | |
30 | AliXMLCollection(); | |
1ca27a6f | 31 | AliXMLCollection(const char *localCollectionFile); |
32 | AliXMLCollection(const AliXMLCollection& collection); | |
33 | ||
34 | virtual ~AliXMLCollection(); | |
c1b83ab9 | 35 | |
36 | //____________________________________________________// | |
37 | Bool_t WriteHeader(); | |
eb771b73 | 38 | Bool_t WriteBody(Int_t counter, const char* guid, const char *lfn, const char *turl, TEventList *fEventList); |
c1b83ab9 | 39 | Bool_t Export(); |
40 | ||
41 | void SetCollectionName(const char* name) {fCollectionName = name;} | |
42 | ||
43 | //____________________________________________________// | |
44 | const char* GetCollectionName() {return fCollectionName.Data();} | |
45 | ||
1ca27a6f | 46 | //____________________________________________________// |
47 | void Reset(); | |
48 | TMap *Next(); | |
49 | Bool_t Remove(TMap *map); | |
50 | const char *GetTURL(const char *name) const; | |
51 | const char *GetLFN(const char *name) const; | |
52 | TEntryList *GetEventList(const char *filename) const; | |
53 | Bool_t OverlapCollection(AliXMLCollection * comparator); | |
54 | ||
55 | static AliXMLCollection *Open(const char *localcollectionfile); | |
56 | ||
c1b83ab9 | 57 | //____________________________________________________// |
58 | protected: | |
1ca27a6f | 59 | virtual void ParseXML(); |
60 | ||
61 | TString fXmlFile; // collection XML file | |
62 | TList *fEventList; // list with event file maps | |
63 | TIter *fEventListIter; // event file list iterator | |
64 | TMap *fCurrent; // current event file map | |
65 | TString fCollectionName; //the name of the xml file | |
c1b83ab9 | 66 | ofstream fout; // The output stream |
67 | ||
1ca27a6f | 68 | AliXMLCollection & operator=(const AliXMLCollection & ) {return *this;} |
69 | ||
c1b83ab9 | 70 | ClassDef(AliXMLCollection,0) //(ClassName, ClassVersion) |
71 | }; | |
72 | //___________________________________________________________________________ | |
73 | ||
74 | #endif |