]>
Commit | Line | Data |
---|---|---|
d08133e6 | 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> | |
17 | #include "TGridCollection.h" | |
18 | #include <Riostream.h> | |
19 | #include <TString.h> | |
20 | ||
21 | class TMap; | |
22 | class TIter; | |
23 | class TEntryList; | |
24 | ||
25 | //___________________________________________________________________________ | |
26 | class AliXMLCollection : public TGridCollection { | |
27 | ||
28 | public: | |
29 | AliXMLCollection(); | |
30 | AliXMLCollection(const char *localCollectionFile); | |
31 | AliXMLCollection(const AliXMLCollection& collection); | |
32 | ||
33 | virtual ~AliXMLCollection(); | |
34 | ||
35 | //____________________________________________________// | |
36 | Bool_t WriteHeader(); | |
f0f29480 | 37 | Bool_t WriteSummary(Int_t aTotal, Int_t aAccepted, Int_t aRejRun, Int_t aRejLHC, Int_t aRejDet, Int_t aRejEvt); |
d08133e6 | 38 | Bool_t WriteBody(Int_t counter, const char* guid, const char *lfn, const char *turl, TEntryList *fEntryList); |
f0f29480 | 39 | Bool_t WriteBody(Int_t counter, const char* guid, const char *lfn, const char *turl, TEntryList *fEntryListm, Int_t accSum, Int_t rejSum); |
d08133e6 | 40 | Bool_t Export(); |
41 | ||
42 | void SetCollectionName(const char* name) {fCollectionName = name;} | |
43 | ||
44 | //____________________________________________________// | |
26f071d8 | 45 | const char* GetCollectionName() const {return fCollectionName.Data();} |
d08133e6 | 46 | |
47 | //____________________________________________________// | |
48 | void Reset(); | |
49 | TMap *Next(); | |
50 | Bool_t Remove(TMap *map); | |
26f071d8 | 51 | const char *GetTURL(const char *name); |
52 | const char *GetLFN(const char *name); | |
53 | const char *GetGUID(const char *name); | |
f0f29480 | 54 | const char *GetCutSumm(); |
d08133e6 | 55 | TEntryList *GetEventList(const char *filename) const; |
3d456d99 | 56 | TEntryList *GetEntryList(const char *filename) { return GetEventList(filename); } |
26f071d8 | 57 | Bool_t OverlapCollection(TGridCollection * comparator); |
f0f29480 | 58 | Bool_t GetCollectionSummary(Int_t *aTot, Int_t *aAcc, Int_t *aRejRun, Int_t *aRejLHC, Int_t *aRejDet, Int_t *aRejEvt); |
d08133e6 | 59 | |
60 | static AliXMLCollection *Open(const char *localcollectionfile); | |
61 | ||
62 | //____________________________________________________// | |
63 | protected: | |
64 | virtual void ParseXML(); | |
65 | ||
66 | TString fXmlFile; // collection XML file | |
67 | TList *fEventList; // list with event file maps | |
68 | TIter *fEventListIter; // event file list iterator | |
69 | TMap *fCurrent; // current event file map | |
70 | TString fCollectionName; //the name of the xml file | |
71 | ofstream fout; // The output stream | |
f0f29480 | 72 | |
73 | // List summary information | |
74 | Int_t fTotalEvents; // Total no. of events in collection | |
75 | Int_t fAcceptedEvents; // No. of accepted events in collection | |
76 | Int_t fRejectedRun; // No. of events rejected by Run cuts | |
77 | Int_t fRejectedLHC; // No. of events rejected by LHC cuts | |
78 | Int_t fRejectedDet; // No. of events rejected by Detector cuts | |
79 | Int_t fRejectedEvt; // No. of events rejected by Event cuts | |
d08133e6 | 80 | |
81 | AliXMLCollection & operator=(const AliXMLCollection & ) {return *this;} | |
82 | ||
83 | ClassDef(AliXMLCollection,0) //(ClassName, ClassVersion) | |
84 | }; | |
85 | //___________________________________________________________________________ | |
86 | ||
87 | #endif |