Warning, file /include/root/RooAbsCacheElement.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROO_ABS_CACHE_ELEMENT
0017 #define ROO_ABS_CACHE_ELEMENT
0018
0019 #include "Rtypes.h"
0020 #include "RooAbsArg.h"
0021
0022 class RooAbsCollection ;
0023 class RooArgSet ;
0024 class RooArgList ;
0025
0026 class RooAbsCacheElement {
0027
0028 public:
0029 RooAbsCacheElement() : _owner(nullptr) {
0030
0031 } ;
0032 virtual bool redirectServersHook(const RooAbsCollection& , bool ,
0033 bool , bool ) ;
0034 virtual void printCompactTreeHook(std::ostream&, const char *, Int_t curElem, Int_t totElem) ;
0035 virtual ~RooAbsCacheElement() {
0036
0037 } ;
0038
0039 enum Action { OperModeChange,OptimizeCaching,FindConstantNodes } ;
0040 virtual RooArgList containedArgs(Action) = 0 ;
0041
0042 virtual void operModeHook(RooAbsArg::OperMode) { }
0043 virtual void optimizeCacheMode(const RooArgSet& obs, RooArgSet& optNodes, RooLinkedList& processedNodes) ;
0044 virtual void findConstantNodes(const RooArgSet& obs, RooArgSet& cacheList, RooLinkedList& processedNodes) ;
0045
0046 void setOwner(RooAbsArg* owner) {
0047
0048 _owner = owner ;
0049 }
0050
0051 protected:
0052
0053 RooAbsArg* _owner ;
0054
0055 ClassDef(RooAbsCacheElement,1)
0056
0057 } ;
0058
0059
0060 #endif