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