|
|
|||
File indexing completed on 2025-12-24 10:31:06
0001 // Author: Philippe Canal May, 2011 0002 0003 /************************************************************************* 0004 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * 0005 * All rights reserved. * 0006 * * 0007 * For the licensing terms see $ROOTSYS/LICENSE. * 0008 * For the list of contributors see $ROOTSYS/README/CREDITS. * 0009 *************************************************************************/ 0010 0011 #ifndef ROOT_TFileMergeInfo 0012 #define ROOT_TFileMergeInfo 0013 0014 ////////////////////////////////////////////////////////////////////////// 0015 // // 0016 // TFileMergeInfo // 0017 // // 0018 // This class helps passing information from the TFileMerger to // 0019 // the objects being merged. // 0020 // // 0021 // It provides access to the output directory pointer (fOutputDirectory)// 0022 // to whether or not this is the first time Merge is being called in the// 0023 // serie (for example for TTree, the first time we also need to Clone // 0024 // the object on which Merge is called), and provides for a User Data // 0025 // object to be passed along to each of the calls to Merge. // 0026 // The fUserData object is owned by the TFileMergeInfo and will be // 0027 // deleted when the TFileMerger moves on to the next set of objects. // 0028 // // 0029 ////////////////////////////////////////////////////////////////////////// 0030 0031 #include "TObject.h" 0032 0033 #include "TString.h" 0034 0035 class TDirectory; 0036 0037 namespace ROOT { 0038 class TIOFeatures; 0039 } 0040 0041 class TFileMergeInfo { 0042 private: 0043 using TIOFeatures = ROOT::TIOFeatures; 0044 0045 TFileMergeInfo() = delete; 0046 TFileMergeInfo(const TFileMergeInfo&) = delete; 0047 TFileMergeInfo& operator=(const TFileMergeInfo&) = delete; 0048 0049 public: 0050 TDirectory *fOutputDirectory{nullptr}; // Target directory where the merged object will be written. 0051 Bool_t fIsFirst{kTRUE}; // True if this is the first call to Merge for this series of object. 0052 TString fOptions; // Additional text based option being passed down to customize the merge. 0053 TObject *fUserData{nullptr}; // Place holder to pass extra information. This object will be deleted at the end of each series of objects. 0054 TIOFeatures *fIOFeatures{nullptr}; // Any ROOT IO features that should be explicitly enabled. 0055 0056 TFileMergeInfo(TDirectory *outputfile) : fOutputDirectory(outputfile) {} 0057 virtual ~TFileMergeInfo() { delete fUserData; } ; 0058 0059 void Reset() { fIsFirst = kTRUE; delete fUserData; fUserData = nullptr; } 0060 0061 ClassDef(TFileMergeInfo, 0); 0062 }; 0063 0064 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|