Loading [MathJax]/extensions/tex2jax.js
ROOT  6.07/01
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RooAbsCacheElement.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $Id$
5  * Authors: *
6  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7  * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8  * *
9  * Copyright (c) 2000-2005, Regents of the University of California *
10  * and Stanford University. All rights reserved. *
11  * *
12  * Redistribution and use in source and binary forms, *
13  * with or without modification, are permitted according to the terms *
14  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15  *****************************************************************************/
16 #ifndef ROO_ABS_CACHE_ELEMENT
17 #define ROO_ABS_CACHE_ELEMENT
18 
19 #include "Rtypes.h"
20 #include "RooAbsArg.h"
21 
22 class RooAbsCollection ;
23 class RooArgSet ;
24 class RooArgList ;
25 
27 
28 public:
30  // Default constructor
31  } ;
32  virtual Bool_t redirectServersHook(const RooAbsCollection& /*newServerList*/, Bool_t /*mustReplaceAll*/,
33  Bool_t /*nameChange*/, Bool_t /*isRecursive*/) ;
34  virtual void printCompactTreeHook(std::ostream&, const char *, Int_t curElem, Int_t totElem) ;
35  virtual ~RooAbsCacheElement() {
36  // Destructor
37  } ;
38 
40  virtual RooArgList containedArgs(Action) = 0 ;
41  virtual void operModeHook(RooAbsArg::OperMode) ;
42  virtual void optimizeCacheMode(const RooArgSet& obs, RooArgSet& optNodes, RooLinkedList& processedNodes) ;
43  virtual void findConstantNodes(const RooArgSet& obs, RooArgSet& cacheList, RooLinkedList& processedNodes) ;
44 
45  void setOwner(RooAbsArg* owner) {
46  // Store pointer to owner
47  _owner = owner ;
48  }
49 
50 protected:
51 
52  RooAbsArg* _owner ; //! Pointer to owning RooAbsArg
53 
54  ClassDef(RooAbsCacheElement,1) // Base class for cache elements
55 
56 } ;
57 
58 
59 #endif
virtual RooArgList containedArgs(Action)=0
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
#define ClassDef(name, id)
Definition: Rtypes.h:254
virtual void printCompactTreeHook(std::ostream &, const char *, Int_t curElem, Int_t totElem)
Hook function to print cache guts in tree printing mode of RooAbsArgs.
RooAbsCacheElement is the abstract base class for objects to be stored in RooAbsCache cache manager o...
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Definition: RooLinkedList.h:35
virtual void optimizeCacheMode(const RooArgSet &obs, RooArgSet &optNodes, RooLinkedList &processedNodes)
Interface for cache optimization calls.
void setOwner(RooAbsArg *owner)
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects...
virtual void findConstantNodes(const RooArgSet &obs, RooArgSet &cacheList, RooLinkedList &processedNodes)
Interface for constant term optimization calls.
virtual Bool_t redirectServersHook(const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
Interface for server redirect calls.
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
Definition: RooAbsArg.h:66
virtual void operModeHook(RooAbsArg::OperMode)
Interface for operation mode change calls.