Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/RooAbsCache.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*****************************************************************************
0002  * Project: RooFit                                                           *
0003  * Package: RooFitCore                                                       *
0004  *    File: $Id$
0005  * Authors:                                                                  *
0006  *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
0007  *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
0008  *                                                                           *
0009  * Copyright (c) 2000-2005, Regents of the University of California          *
0010  *                          and Stanford University. All rights reserved.    *
0011  *                                                                           *
0012  * Redistribution and use in source and binary forms,                        *
0013  * with or without modification, are permitted according to the terms        *
0014  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
0015  *****************************************************************************/
0016 #ifndef ROO_ABS_CACHE
0017 #define ROO_ABS_CACHE
0018 
0019 #include "Rtypes.h"
0020 
0021 class RooAbsArg ;
0022 class RooAbsCollection ;
0023 class RooArgSet ;
0024 class RooArgList ;
0025 class RooLinkedList ;
0026 
0027 class RooAbsCache {
0028 
0029 public:
0030 
0031   RooAbsCache(RooAbsArg* owner=nullptr) ;
0032 
0033   RooAbsCache(const RooAbsCache&, RooAbsArg* owner=nullptr ) ;
0034 
0035   virtual ~RooAbsCache() ;
0036 
0037   void setOwner(RooAbsArg* owner);
0038 
0039   /// Interface for server redirect calls.
0040   virtual bool redirectServersHook(const RooAbsCollection& /*newServerList*/,
0041                                      bool /*mustReplaceAll*/,
0042                                      bool /*nameChange*/,
0043                                      bool /*isRecursive*/) { return false; }
0044 
0045   /// Interface for operation mode changes.
0046   virtual void operModeHook() {}
0047 
0048   /// Interface for processing of cache mode optimization calls.
0049   virtual void optimizeCacheMode(const RooArgSet&, RooArgSet&, RooLinkedList& ) {}
0050 
0051   /// Interface for constant term node finding calls.
0052   virtual void findConstantNodes(const RooArgSet&, RooArgSet& , RooLinkedList&) {}
0053 
0054   /// Interface for printing of cache guts in tree mode printing.
0055   virtual void printCompactTreeHook(std::ostream&, const char *) {}
0056 
0057   virtual void wireCache() {}
0058 
0059 protected:
0060 
0061   RooAbsArg* _owner ; ///< Pointer to owning RooAbsArg
0062 
0063   ClassDef(RooAbsCache,1) // Base class for cache managers
0064 
0065 } ;
0066 
0067 
0068 #endif