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 */
9 //-------------------------------------------------------------------------
10 // Class AliXMLCollection
11 // This is the class that creates XML collections after querying the tags
13 // Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
14 //-------------------------------------------------------------------------
17 #include "TGridCollection.h"
18 #include <Riostream.h>
26 //___________________________________________________________________________
27 class AliXMLCollection : public TGridCollection {
31 AliXMLCollection(const char *localCollectionFile);
32 AliXMLCollection(const AliXMLCollection& collection);
34 virtual ~AliXMLCollection();
36 //____________________________________________________//
38 Bool_t WriteSummary(Int_t aTotal, Int_t aAccepted, Int_t aRejRun, Int_t aRejLHC, Int_t aRejDet, Int_t aRejEvt);
39 Bool_t WriteBody(Int_t counter, const char* guid, const char *lfn, const char *turl, TEntryList *fEntryList);
40 Bool_t WriteBody(Int_t counter, const char* guid, const char *lfn, const char *turl, TEntryList *fEntryListm, Int_t accSum, Int_t rejSum);
43 void SetCollectionName(const char* name) {fCollectionName = name;}
45 //____________________________________________________//
46 const char* GetCollectionName() const {return fCollectionName.Data();}
48 //____________________________________________________//
51 Bool_t Remove(TMap *map);
52 const char *GetTURL(const char *name);
53 const char *GetLFN(const char *name);
54 const char *GetGUID(const char *name);
55 const char *GetCutSumm();
56 TEntryList *GetEventList(const char *filename) const;
57 TEntryList *GetEntryList(const char *filename) { return GetEventList(filename); }
58 Bool_t OverlapCollection(TGridCollection * comparator);
59 Bool_t GetCollectionSummary(Int_t *aTot, Int_t *aAcc, Int_t *aRejRun, Int_t *aRejLHC, Int_t *aRejDet, Int_t *aRejEvt) const;
61 static AliXMLCollection *Open(const char *localcollectionfile);
63 //____________________________________________________//
65 virtual void ParseXML();
67 TString fXmlFile; // collection XML file
68 TList *fEventList; // list with event file maps
69 TIter *fEventListIter; // event file list iterator
70 TMap *fCurrent; // current event file map
71 TString fCollectionName; //the name of the xml file
72 ofstream fout; // The output stream
74 // List summary information
75 Int_t fTotalEvents; // Total no. of events in collection
76 Int_t fAcceptedEvents; // No. of accepted events in collection
77 Int_t fRejectedRun; // No. of events rejected by Run cuts
78 Int_t fRejectedLHC; // No. of events rejected by LHC cuts
79 Int_t fRejectedDet; // No. of events rejected by Detector cuts
80 Int_t fRejectedEvt; // No. of events rejected by Event cuts
82 AliXMLCollection & operator=(const AliXMLCollection & ) {return *this;}
84 ClassDef(AliXMLCollection,0) //(ClassName, ClassVersion)
86 //___________________________________________________________________________