Logo ROOT  
Reference Guide
RooAbsCacheElement.cxx
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
17/**
18\file RooAbsCacheElement.cxx
19\class RooAbsCacheElement
20\ingroup Roofitcore
21
22RooAbsCacheElement is the abstract base class for objects to be stored
23in RooAbsCache cache manager objects. Each storage element has an
24interface to pass on calls for server redirection, operation mode
25change calls and constant term optimization management calls
26**/
27
28#include "RooAbsCacheElement.h"
29#include "RooAbsArg.h"
30#include "RooArgList.h"
31
32using namespace std;
33
35 ;
36
37
38////////////////////////////////////////////////////////////////////////////////
39/// Interface for server redirect calls
40
41bool RooAbsCacheElement::redirectServersHook(const RooAbsCollection& /*newServerList*/, bool /*mustReplaceAll*/,
42 bool /*nameChange*/, bool /*isRecursive*/)
43{
44 return false ;
45}
46
47
48
49////////////////////////////////////////////////////////////////////////////////
50/// Hook function to print cache guts in tree printing mode of RooAbsArgs
51
52void RooAbsCacheElement::printCompactTreeHook(std::ostream&, const char *, Int_t , Int_t )
53{
54}
55
56
57
58////////////////////////////////////////////////////////////////////////////////
59/// Interface for cache optimization calls. The default implementation is to forward all these
60/// calls to all contained RooAbsArg objects as publicized through containedArg()
61
62void RooAbsCacheElement::optimizeCacheMode(const RooArgSet& obs, RooArgSet& optNodes, RooLinkedList& processedNodes)
63{
65 arg->optimizeCacheMode(obs, optNodes, processedNodes) ;
66 }
67}
68
69
70
71////////////////////////////////////////////////////////////////////////////////
72/// Interface for constant term optimization calls. The default implementation is to forward all these
73/// calls to all contained RooAbsArg objects as publicized through containedArg()
74
75void RooAbsCacheElement::findConstantNodes(const RooArgSet& obs, RooArgSet& cacheList, RooLinkedList& processedNodes)
76{
78 for (const auto arg : list) {
79 arg->findConstantNodes(obs, cacheList, processedNodes);
80 }
81}
#define ClassImp(name)
Definition: Rtypes.h:375
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
Definition: RooAbsArg.h:71
RooAbsCacheElement is the abstract base class for objects to be stored in RooAbsCache cache manager o...
virtual void optimizeCacheMode(const RooArgSet &obs, RooArgSet &optNodes, RooLinkedList &processedNodes)
Interface for cache optimization calls.
virtual RooArgList containedArgs(Action)=0
virtual bool redirectServersHook(const RooAbsCollection &, bool, bool, bool)
Interface for server redirect calls.
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.
virtual void findConstantNodes(const RooArgSet &obs, RooArgSet &cacheList, RooLinkedList &processedNodes)
Interface for constant term optimization calls.
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
RooArgList is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgList.h:22
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:56
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Definition: RooLinkedList.h:38