]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIFILEMERGER_H | |
2 | #define ALIFILEMERGER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | ////////////////////////////////////////////////////////////////////////// | |
10 | // | |
11 | // Utilities for file merging | |
12 | // | |
13 | ////////////////////////////////////////////////////////////////////////// | |
14 | ||
15 | class TObjString; | |
16 | ||
17 | #include "TNamed.h" | |
18 | ||
19 | class AliFileMerger : public TNamed | |
20 | { | |
21 | ||
22 | public: | |
23 | AliFileMerger(); | |
24 | AliFileMerger(const char* name); | |
25 | void Merge(TFile* fileIn, TObjArray * array); | |
26 | ||
27 | void IterTXT( const char * fileList, const char* outputFileName,Bool_t dontOverwrite=kFALSE); | |
28 | void IterAlien(const char* outputDir, const char* outputFileName = "CalibObjects.root" , const char* pattern = "AliESDfriends_v1.root", Bool_t dontOverwrite=kFALSE); | |
29 | void IterList(const TList* namesList, const char* outputFileName, Bool_t dontOverwrite=kFALSE); | |
30 | // | |
31 | void StoreResults(TObjArray * array, const char* outputFileName); | |
32 | void StoreSeparateResults(TObjArray * array, const char* outputFileName); | |
33 | // | |
34 | Bool_t IsAccepted(TString name); | |
35 | Bool_t IsRejected(TString name); | |
36 | void AddReject(const char *reject); | |
37 | void AddAccept(const char *accept); | |
38 | void SetNoTrees(Bool_t v=kTRUE) {fNoTrees = v;} | |
39 | Bool_t IsNoTrees() const {return fNoTrees;} | |
40 | void SetMaxFilesOpen(Int_t n) {fMaxFilesOpen = n<3 ? 3 : n;} | |
41 | Int_t GetMaxFilesOpen() const {return fMaxFilesOpen;} | |
42 | protected: | |
43 | int AddFile(TList* sourcelist, std::string entry); | |
44 | int MergeRootfile( TDirectory *target, TList *sourceNames, Bool_t nameFiltering=kTRUE); | |
45 | int OpenNextChunks(const TList* namesList, TList* filesList, Int_t from, Int_t to); | |
46 | protected: | |
47 | TObjArray * fRejectMask; // mask of the objects to be rejected | |
48 | TObjArray * fAcceptMask; // mask of the objects to be accepted | |
49 | Int_t fMaxFilesOpen; // max number of open files | |
50 | Bool_t fNoTrees; // do we merge trees | |
51 | private: | |
52 | AliFileMerger(const AliFileMerger&); | |
53 | AliFileMerger& operator=(const AliFileMerger& other); | |
54 | ||
55 | ClassDef(AliFileMerger, 2); // File merger utilities for AliRoot | |
56 | }; | |
57 | ||
58 | #endif |