]>
Commit | Line | Data |
---|---|---|
623bb90b | 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 | ||
39f7cda2 | 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); | |
3e486dd5 | 29 | void IterList(const TList* namesList, const char* outputFileName, Bool_t dontOverwrite=kFALSE); |
623bb90b | 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 | void AddReject(const char *reject); | |
36 | void AddAccept(const char *accept); | |
39f7cda2 | 37 | void SetNoTrees(Bool_t v=kTRUE) {fNoTrees = v;} |
38 | Bool_t IsNoTrees() const {return fNoTrees;} | |
3e486dd5 | 39 | void SetMaxFilesOpen(Int_t n) {fMaxFilesOpen = n<3 ? 3 : n;} |
40 | Int_t GetMaxFilesOpen() const {return fMaxFilesOpen;} | |
39f7cda2 | 41 | protected: |
42 | int AddFile(TList* sourcelist, std::string entry); | |
43 | int MergeRootfile( TDirectory *target, TList *sourceNames); | |
3e486dd5 | 44 | int OpenNextChunks(const TList* namesList, TList* filesList, Int_t from, Int_t to); |
623bb90b | 45 | protected: |
46 | TObjArray * fRejectMask; // mask of the objects to be rejected | |
47 | TObjArray * fAcceptMask; // mask of the objects to be accepted | |
3e486dd5 | 48 | Int_t fMaxFilesOpen; // max number of open files |
39f7cda2 | 49 | Bool_t fNoTrees; // do we merge trees |
623bb90b | 50 | private: |
51 | AliFileMerger(const AliFileMerger&); | |
52 | AliFileMerger& operator=(const AliFileMerger& other); | |
53 | ||
3e486dd5 | 54 | ClassDef(AliFileMerger, 2); // File merger utilities for AliRoot |
623bb90b | 55 | }; |
56 | ||
57 | #endif |