-
Philippe Canal authored
Remove warnings following the introduction of TTree::GetEntries(const char*). Fix code conventions violations git-svn-id: http://root.cern.ch/svn/root/trunk@16290 27541ba8-7e3a-0410-8455-c3a389f83636
Philippe Canal authoredRemove warnings following the introduction of TTree::GetEntries(const char*). Fix code conventions violations git-svn-id: http://root.cern.ch/svn/root/trunk@16290 27541ba8-7e3a-0410-8455-c3a389f83636
TChainProof.cxx 28.29 KiB
// @(#)root/tree:$Name: $:$Id: TChainProof.cxx,v 1.8 2006/08/06 07:15:00 rdm Exp $
// Author: Marek Biskup 10/3/2005
/*************************************************************************
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
//////////////////////////////////////////////////////////////////////////
// //
// TChainProof //
// //
// A wrapper for TDSet to behave as a Tree/Chain. //
// Uses an internal TDSet to handle processing and a TTree //
// which holds the branch structure. //
// //
//////////////////////////////////////////////////////////////////////////
#include "TChainProof.h"
#include "TDSet.h"
#include "TVirtualProof.h"
ClassImp(TChainProof)
//______________________________________________________________________________
TChainProof::TChainProof(TDSet *set, TTree *tree, TVirtualProof* proof) : TTree()
{
// Crates a new TProof chain containing the files from the TDSet.
// The tree is just a dummy containing descriptions of all the tree leaves.
fTree = tree;
fSet = set;
fDirectory = gDirectory;
fProof = proof;
fDrawFeedback = 0;
}
//______________________________________________________________________________
TChainProof::~TChainProof()
{
// Destructor - removes the chain from the proof in case a proof was set.
ReleaseProof();
SafeDelete(fTree);
fDirectory = 0;
}
//______________________________________________________________________________
void TChainProof::AddClone(TTree *)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::AddClone","not implemented");
}
//______________________________________________________________________________
TFriendElement *TChainProof::AddFriend(const char *, const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TFriendElement *TChainProof::AddFriend(const char *, TFile *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TFriendElement *TChainProof::AddFriend(TTree *, const char*, Bool_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Long64_t TChainProof::AutoSave(Option_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::AutoSave","not implemented");
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::Branch(TList *, Int_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::Branch","not implemented");
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::Branch(TCollection *, Int_t, Int_t, const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::Branch","not implemented");
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::Branch(const char *, Int_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::Branch","not implemented");
return 0;
}
//______________________________________________________________________________
TBranch *TChainProof::Branch(const char *, TClonesArray **, Int_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::Branch","not implemented");
return 0;
}
//______________________________________________________________________________
TBranch *TChainProof::Branch(const char *, void *, const char *, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::Branch","not implemented");
return 0;
}
//______________________________________________________________________________
TBranch *TChainProof::Branch(const char *, void *, Int_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::Branch","not implemented");
return 0;
}
//______________________________________________________________________________
TBranch *TChainProof::Branch(const char *, const char *, void *, Int_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::Branch","not implemented");
return 0;
}
//______________________________________________________________________________
TBranch *TChainProof::BranchOld(const char *, const char *, void *, Int_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::BranchOld","not implemented");
return 0;
}
//______________________________________________________________________________
TBranch *TChainProof::BranchRef()
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::BranchRef", "not implemented");
return 0;
}
//______________________________________________________________________________
TBranch *TChainProof::Bronch(const char *, const char *, void *, Int_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::Bronch","not implemented");
return 0;
}
//______________________________________________________________________________
void TChainProof::Browse(TBrowser *b)
{
// Forwards the execution to the dummy tree header.
// See TTree::Browse().
fSet->Browse(b);
}
//______________________________________________________________________________
Int_t TChainProof::BuildIndex(const char *, const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::BuildIndex","not implemented");
return 0;
}
//______________________________________________________________________________
void TChainProof::SetTreeIndex(TVirtualIndex *)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::SetTreeIndex","not implemented");
}
//______________________________________________________________________________
TStreamerInfo *TChainProof::BuildStreamerInfo(TClass *, void *)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::BuildStreamerInfo","not implemented");
return 0;
}
//______________________________________________________________________________
TFile *TChainProof::ChangeFile(TFile *)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::ChangeFile","not implemented");
return 0;
}
//______________________________________________________________________________
TTree *TChainProof::CloneTree(Long64_t, Option_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::CloneTree","not implemented");
return 0;
}
//______________________________________________________________________________
void TChainProof::CopyAddresses(TTree* )
{
// Not implemented in TChainProof. Shouldn't be used.
Error("TChainProof::CopyAddresses","not implemented");
}
//______________________________________________________________________________
Long64_t TChainProof::CopyEntries(TTree *, Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TTree *TChainProof::CopyTree(const char *, Option_t *, Long64_t , Long64_t )
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
void TChainProof::Delete(Option_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
return;
}
//______________________________________________________________________________
Long64_t TChainProof::Draw(const char *varexp, const TCut &selection, Option_t *option, Long64_t nentries, Long64_t firstentry)
{
// Forwards the execution to the TDSet.
// Returns -1 in case of error or number of selected events in case of success.
// See TDSet::Browse().
if (!fProof && gProof) {
ConnectProof(gProof);
}
if (fDrawFeedback)
fProof->SetDrawFeedbackOption(fDrawFeedback, option);
fReadEntry = firstentry;
fSet->SetEventList(fEventList);
Long64_t rv = fSet->Draw(varexp, selection, option, nentries, firstentry);
return rv;
}
//______________________________________________________________________________
Long64_t TChainProof::Draw(const char *varexp, const char *selection, Option_t *option,Long64_t nentries, Long64_t firstentry)
{
// Forwards the execution to the TDSet.
// Returns -1 in case of error or number of selected events in case of success.
// See TDSet::Browse().
if (!fProof && gProof) {
ConnectProof(gProof);
}
if (fDrawFeedback)
fProof->SetDrawFeedbackOption(fDrawFeedback, option);
fReadEntry = firstentry;
fSet->SetEventList(fEventList);
Long64_t rv = fSet->Draw(varexp, selection, option, nentries, firstentry);
return rv;
}
//______________________________________________________________________________
void TChainProof::DropBuffers(Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return;
}
//______________________________________________________________________________
Int_t TChainProof::Fill()
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TBranch *TChainProof::FindBranch(const char* branchname)
{
// Forwards the execution to the dummy tree header.
// See TTree::FindBranch().
return (fTree ? fTree->FindBranch(branchname) : (TBranch *)0);
}
//______________________________________________________________________________
TLeaf *TChainProof::FindLeaf(const char* searchname)
{
// Forwards the execution to the dummy tree header.
// See TTree::FindLeaf().
return (fTree ? fTree->FindLeaf(searchname) : (TLeaf *)0);
}
//______________________________________________________________________________
Long64_t TChainProof::Fit(const char * ,const char *, const char *, Option_t *,
Option_t *, Long64_t, Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
const char *TChainProof::GetAlias(const char *) const
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TBranch *TChainProof::GetBranch(const char *name)
{
// Forwards the execution to the dummy tree header.
// See TTree::GetBranch().
return (fTree ? fTree->GetBranch(name) : (TBranch *)0);
}
//______________________________________________________________________________
Bool_t TChainProof::GetBranchStatus(const char *branchname) const
{
// Forwards the execution to the dummy tree header.
// See TTree::GetBranchStatus().
return (fTree ? fTree->GetBranchStatus(branchname) : kFALSE);
}
//______________________________________________________________________________
Int_t TChainProof::GetBranchStyle()
{
// See TTree::GetBranchStyle().
return fgBranchStyle;
}
//______________________________________________________________________________
TFile *TChainProof::GetCurrentFile() const
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Long64_t TChainProof::GetEntriesFriend() const
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::GetEntry(Long64_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Long64_t TChainProof::GetEntryNumber(Long64_t) const
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Long64_t TChainProof::GetEntryNumberWithBestIndex(Int_t, Int_t) const
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Long64_t TChainProof::GetEntryNumberWithIndex(Int_t, Int_t) const
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::GetEntryWithIndex(Int_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
const char *TChainProof::GetFriendAlias(TTree *) const
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TIterator* TChainProof::GetIteratorOnAllLeaves(Bool_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TLeaf *TChainProof::GetLeaf(const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Double_t TChainProof::GetMaximum(const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Long64_t TChainProof::GetMaxTreeSize()
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Double_t TChainProof::GetMinimum(const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
const char *TChainProof::GetNameByIndex(TString &, Int_t *, Int_t) const
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TVirtualTreePlayer *TChainProof::GetPlayer()
{
// Forwards the execution to the dummy tree header.
// See TTree::GetPlayer().
if (!fTree) {
if (fProof) {
fTree = fProof->GetTreeHeader(fSet);
ConnectProof(fProof);
}
}
return (fTree ? fTree->GetPlayer() : (TVirtualTreePlayer *)0); // FIXME ??
}
//______________________________________________________________________________
TList *TChainProof::GetUserInfo()
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
void TChainProof::KeepCircular()
{
// Not implemented in TChainProof. Shouldn't be used.
return;
}
//______________________________________________________________________________
Long64_t TChainProof::LoadTree(Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::LoadBaskets(Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Long64_t TChainProof::LoadTreeFriend(Long64_t, TTree *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::MakeSelector(const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::MakeProxy(const char *, const char *,
const char *, const char *,
Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::MakeClass(const char *, Option_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Int_t TChainProof::MakeCode(const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
void TChainProof::MakeIndex(TString &, Int_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
return;
}
//______________________________________________________________________________
Bool_t TChainProof::MemoryFull(Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TTree *TChainProof::MergeTrees(TList *,Option_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Long64_t TChainProof::Merge(TCollection *,Option_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Bool_t TChainProof::Notify()
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TPrincipal *TChainProof::Principal(const char *, const char *, Option_t *,
Long64_t, Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
void TChainProof::Print(Option_t *) const
{
// Not implemented in TChainProof. Shouldn't be used.
return;
}
//______________________________________________________________________________
Long64_t TChainProof::Process(const char *filename,Option_t *option,Long64_t nentries, Long64_t firstentry)
{
// Forwards the execution to the TDSet.
// The return value is -1 in case of error and TSelector::GetStatus() in
// in case of success.
// See TDSet::Process().
return fSet->Process(filename, option, nentries, firstentry);
}
//______________________________________________________________________________
Long64_t TChainProof::Process(TSelector *selector,Option_t *option, Long64_t nentries, Long64_t firstentry)
{
// Not implemented in TChainProof. Shouldn't be used.
// The return value is -1 in case of error and TSelector::GetStatus() in
// in case of success.
if (selector || option || nentries || firstentry);
// return fSet->Process(selector, option, nentries, firstentry);
Warning("Process", "not implemented"); // TODO
return -1;
}
//______________________________________________________________________________
Long64_t TChainProof::Project(const char *, const char *, const char *,
Option_t *, Long64_t, Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
TSQLResult *TChainProof::Query(const char *, const char *, Option_t *,
Long64_t, Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Long64_t TChainProof::ReadFile(const char *, const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
void TChainProof::Refresh()
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
void TChainProof::RemoveFriend(TTree *)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
void TChainProof::Reset(Option_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
void TChainProof::ResetBranchAddresses()
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
Long64_t TChainProof::Scan(const char *, const char *, Option_t *,
Long64_t, Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
Bool_t TChainProof::SetAlias(const char *, const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//_______________________________________________________________________
void TChainProof::SetBasketSize(const char *, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//_______________________________________________________________________
void TChainProof::SetBranchAddress(const char *, void *, TBranch **)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//_______________________________________________________________________
void TChainProof::SetBranchAddress(const char *, void *,
TClass *, EDataType, Bool_t)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//_______________________________________________________________________
void TChainProof::SetBranchAddress(const char *, void *, TBranch **,
TClass *, EDataType, Bool_t)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//_______________________________________________________________________
void TChainProof::SetBranchStatus(const char *, Bool_t, UInt_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
void TChainProof::SetBranchStyle(Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
void TChainProof::SetCircular(Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
void TChainProof::SetDebug(Int_t level, Long64_t min, Long64_t max)
{
// See TTree::SetDebug
TTree::SetDebug(level, min, max);
}
//______________________________________________________________________________
void TChainProof::SetDirectory(TDirectory *)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//_______________________________________________________________________
Long64_t TChainProof::SetEntries(Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//_______________________________________________________________________
void TChainProof::SetEstimate(Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//_______________________________________________________________________
void TChainProof::SetFileNumber(Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
void TChainProof::SetMaxTreeSize(Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
void TChainProof::SetName(const char *name)
{
// See TTree::GetName.
TTree::SetName(name);
}
//______________________________________________________________________________
void TChainProof::SetObject(const char *, const char *)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
void TChainProof::SetWeight(Double_t, Option_t *)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//_______________________________________________________________________
void TChainProof::Show(Long64_t, Int_t)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//_______________________________________________________________________
void TChainProof::StartViewer()
{
// Not implemented in TChainProof. Shouldn't be used.
}
//_______________________________________________________________________
void TChainProof::Streamer(TBuffer &)
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
Long64_t TChainProof::UnbinnedFit(const char * ,const char *, const char *,
Option_t *,Long64_t, Long64_t)
{
// Not implemented in TChainProof. Shouldn't be used.
return 0;
}
//______________________________________________________________________________
void TChainProof::UseCurrentStyle()
{
// Not implemented in TChainProof. Shouldn't be used.
}
//______________________________________________________________________________
Long64_t TChainProof::GetEntries() const
{
// Returns the total number of entries in the TChainProof, which is
// the number of entries in the TDSet that it holds.
return (fTree ? fTree->GetMaxEntryLoop() : (Long64_t)(-1)); // this was used for holding the total number of entries
}
//______________________________________________________________________________
Long64_t TChainProof::GetEntries(const char *sel)
{
// See TTree::GetEntries(const char *selection)
return (fTree ? fTree->GetEntries(sel) : (Long64_t)(-1));
}
//______________________________________________________________________________
void TChainProof::Progress(Long64_t total, Long64_t processed)
{
// Changes the number of processed entries.
if (gROOT->IsInterrupted() && gProof)
gProof->StopProcess(kTRUE);
if (total)
;
fReadEntry = processed;
}
//______________________________________________________________________________
Long64_t TChainProof::GetReadEntry() const
{
// Returns the number of processed entries.
return fReadEntry;
}
//______________________________________________________________________________
void TChainProof::ReleaseProof()
{
// Releases PROOF. Disconnect the "progress" signal.
if (!fProof)
return;
fProof->Disconnect("Progress(Long64_t,Long64_t)",
this, "Progress(Long64_t,Long64_t)");
if (fDrawFeedback)
fProof->DeleteDrawFeedback(fDrawFeedback);
fDrawFeedback = 0;
fProof = 0;
}
//______________________________________________________________________________
void TChainProof::ConnectProof(TVirtualProof *proof)
{
// Connects the proof - creates a "DrawFeedback" and connects the
// "Progress" signal.
if (fProof)
ReleaseProof();
fProof = proof;
if (fProof) {
fDrawFeedback = fProof->CreateDrawFeedback();
fProof->Connect("Progress(Long64_t,Long64_t)", "TChainProof",
this, "Progress(Long64_t,Long64_t)");
}
}
//______________________________________________________________________________
TChainProof *TChainProof::MakeChainProof(TDSet *set, TVirtualProof *proof, Bool_t gettreeheader)
{
// Creates a new TChainProof that keeps the TDSet.
// If gettreeheader is kTRUE the header of the tree will be read from the
// PROOF cluster: this is only needed fro browsing and should be used with
// care because it may take a long time to execute.
if (!set->IsTree()) {
set->Error("MakeChainProof", "TDSet contents should be of type TTree (or subtype)");
return 0;
}
TTree *t = 0;
if (gettreeheader) {
if (!(t = proof->GetTreeHeader(set))) {
set->Error("TChainProof::MakeChainProof", "Error getting a tree header");
return 0;
}
}
TChainProof *w = new TChainProof(set, t, proof); // t will be deleted in w's destructor
w->SetDirectory(0);
if (t)
w->SetName(TString(t->GetName()) + "_Wrapped");
return w;
}