GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
TParallelFileMerger Class Reference

Definition at line 56 of file TParallelFileMerger.h.

Public Member Functions

 TParallelFileMerger (const char *filename, bool writeCache=false)
 
 ~TParallelFileMerger ()
 
const char * GetName () const
 
ULong_t Hash () const
 
bool InitialMerge (TFile *input)
 
bool Merge ()
 
bool NeedFinalMerge ()
 
bool NeedMerge (Float_t clientThreshold)
 
void RegisterClient (UInt_t clientId, TFile *file)
 

Private Types

typedef std::vector< ClientInfoClientColl_t
 

Private Attributes

ClientColl_t fClients
 
TBits fClientsContact
 
TString fFilename
 
TTimeStamp fLastMerge
 
TFileMerger fMerger
 
UInt_t fNClientsContact
 

#include <TParallelFileMerger.h>

+ Inheritance diagram for TParallelFileMerger:
+ Collaboration diagram for TParallelFileMerger:

Member Typedef Documentation

◆ ClientColl_t

typedef std::vector<ClientInfo> TParallelFileMerger::ClientColl_t
private

Definition at line 59 of file TParallelFileMerger.h.

Constructor & Destructor Documentation

◆ TParallelFileMerger()

TParallelFileMerger::TParallelFileMerger ( const char *  filename,
bool  writeCache = false 
)

Definition at line 102 of file TParallelFileMerger.cxx.

References fMerger.

◆ ~TParallelFileMerger()

TParallelFileMerger::~TParallelFileMerger ( )

Definition at line 110 of file TParallelFileMerger.cxx.

References fClients.

Member Function Documentation

◆ GetName()

const char * TParallelFileMerger::GetName ( ) const

Definition at line 124 of file TParallelFileMerger.cxx.

References fFilename.

◆ Hash()

ULong_t TParallelFileMerger::Hash ( ) const

Definition at line 118 of file TParallelFileMerger.cxx.

References fFilename.

◆ InitialMerge()

bool TParallelFileMerger::InitialMerge ( TFile *  input)

Definition at line 130 of file TParallelFileMerger.cxx.

References DeleteObject(), and fMerger.

Referenced by TAnalysisWriteLoop::Server().

◆ Merge()

Bool_t TParallelFileMerger::Merge ( )

◆ NeedFinalMerge()

Bool_t TParallelFileMerger::NeedFinalMerge ( )

Definition at line 173 of file TParallelFileMerger.cxx.

References fClientsContact.

Referenced by TAnalysisWriteLoop::Server().

◆ NeedMerge()

Bool_t TParallelFileMerger::NeedMerge ( Float_t  clientThreshold)

Definition at line 179 of file TParallelFileMerger.cxx.

References fClients, fClientsContact, fLastMerge, and fNClientsContact.

Referenced by TAnalysisWriteLoop::Server().

◆ RegisterClient()

void TParallelFileMerger::RegisterClient ( UInt_t  clientId,
TFile *  file 
)

Definition at line 204 of file TParallelFileMerger.cxx.

References fClients, fClientsContact, fFilename, and fNClientsContact.

Referenced by TAnalysisWriteLoop::Server().

Member Data Documentation

◆ fClients

ClientColl_t TParallelFileMerger::fClients
private

Definition at line 64 of file TParallelFileMerger.h.

Referenced by Merge(), NeedMerge(), RegisterClient(), and ~TParallelFileMerger().

◆ fClientsContact

TBits TParallelFileMerger::fClientsContact
private

Definition at line 62 of file TParallelFileMerger.h.

Referenced by Merge(), NeedFinalMerge(), NeedMerge(), and RegisterClient().

◆ fFilename

TString TParallelFileMerger::fFilename
private

Definition at line 61 of file TParallelFileMerger.h.

Referenced by GetName(), Hash(), and RegisterClient().

◆ fLastMerge

TTimeStamp TParallelFileMerger::fLastMerge
private

Definition at line 65 of file TParallelFileMerger.h.

Referenced by Merge(), and NeedMerge().

◆ fMerger

TFileMerger TParallelFileMerger::fMerger
private

Definition at line 66 of file TParallelFileMerger.h.

Referenced by InitialMerge(), Merge(), and TParallelFileMerger().

◆ fNClientsContact

UInt_t TParallelFileMerger::fNClientsContact
private

Definition at line 63 of file TParallelFileMerger.h.

Referenced by Merge(), NeedMerge(), and RegisterClient().