/*****************************************************************************
 * Project: RooFit                                                           *
 * Package: RooFitCore                                                       *
 *    File: $Id: RooAbsCache.cxx 24247 2008-06-12 14:54:32Z wouter $
 * Authors:                                                                  *
 *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
 *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
 *                                                                           *
 * Copyright (c) 2000-2005, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/

//////////////////////////////////////////////////////////////////////////////
// 
// BEGIN_HTML
// RooAbsCache is the abstract base class for data members of RooAbsArgs
// that cache other (composite) RooAbsArg expressions. The RooAbsCache
// interface defines the interaction between the owning RooAbsArg object
// and the cache data member to communicate server redirects, operation
// mode changes and constant term optimization management calls.
// END_HTML
//
//


#include "RooFit.h"
#include "RooAbsCache.h"
#include "RooAbsArg.h"
#include "RooArgList.h"

ClassImp(RooAbsCache) 
   ;


//_____________________________________________________________________________
RooAbsCache::RooAbsCache(RooAbsArg* owner) : _owner(owner) 
{ 
  // Constructor. Takes owner as argument and register cache with owner
  if (_owner) {
    _owner->registerCache(*this) ; 
  }
} 



//_____________________________________________________________________________
RooAbsCache::RooAbsCache(const RooAbsCache&, RooAbsArg* owner ) : _owner(owner) 
{ 
  // Copy constructor. Takes owner as argument and registers cache with owne
  if (_owner) {
    owner->registerCache(*this) ; 
  }
}



//_____________________________________________________________________________
RooAbsCache::~RooAbsCache() 
{ 
  // Destructor. Unregisters cache with owner
  if (_owner) {
    _owner->unRegisterCache(*this) ; 
  }
}



//_____________________________________________________________________________
void RooAbsCache::optimizeCacheMode(const RooArgSet& /*obs*/, RooArgSet&, RooLinkedList& ) 
{
  // Interface for processing of cache mode optimization calls
}



//_____________________________________________________________________________
Bool_t RooAbsCache::redirectServersHook(const RooAbsCollection& /*newServerList*/, Bool_t /*mustReplaceAll*/, Bool_t /*nameChange*/, Bool_t /*isRecursive*/) 
{ 
  // Interface for server redirect calls
  return kFALSE ; 
} 



//_____________________________________________________________________________
void RooAbsCache::operModeHook() 
{
  // Interface for operation mode changes
} 



//_____________________________________________________________________________
void RooAbsCache::findConstantNodes(const RooArgSet&, RooArgSet&, RooLinkedList& ) 
{  
  // Interface for constant term node finding calls
}



//_____________________________________________________________________________
void RooAbsCache::printCompactTreeHook(std::ostream&, const char *)
{
  // Interface for printing of cache guts in tree mode printing
}


Last change: Wed Jun 25 08:31:29 2008
Last generated: 2008-06-25 08:31

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.