Logo ROOT  
Reference Guide
RooAbsProxy.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id: RooAbsProxy.h,v 1.15 2007/07/12 20:30:28 wouter Exp $
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_PROXY
17#define ROO_ABS_PROXY
18
19#ifdef _WIN32
20// Turn off 'warning C4355: 'this' : used in base member initializer list'
21//
22// This message will pop up for any class that initializes member proxy objects
23// Including the pragma here will automatically disable that warning message
24// for all such cases
25#pragma warning ( disable:4355 )
26#endif
27
28#include <TClass.h>
29
31class RooArgSet;
32
34public:
35
36 // Constructors, assignment etc.
37 RooAbsProxy() ;
38 RooAbsProxy(const char* name, const RooAbsProxy& other) ;
39 virtual ~RooAbsProxy() {
40 // Destructor
41 } ;
42
43 virtual const char* name() const {
44 // Return name of proxy
45 return "dummy" ;
46 } ;
47
48 inline const RooArgSet* nset() const {
49 // Return normalization set to be used for evaluation of contents
50 return _nset ;
51 }
52 virtual void print(std::ostream& os, bool addContents=false) const ;
53
54protected:
55
56 RooArgSet* _nset = nullptr ; ///<! Normalization set to be used for evaluation of RooAbsPdf contents
57
58 friend class RooAbsArg ;
59 virtual bool changePointer(const RooAbsCollection& newServerSet, bool nameChange=false, bool factoryInitMode=false) = 0 ;
60
61 friend class RooAbsPdf ;
62 virtual void changeNormSet(const RooArgSet* newNormSet) ;
63
64 ClassDef(RooAbsProxy,1) // Abstract proxy interface
65} ;
66
67#endif
68
#define ClassDef(name, id)
Definition: Rtypes.h:335
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
Definition: RooAbsArg.h:71
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
RooAbsProxy is the abstact interface for proxy classes.
Definition: RooAbsProxy.h:33
virtual void changeNormSet(const RooArgSet *newNormSet)
Destructor.
Definition: RooAbsProxy.cxx:61
const RooArgSet * nset() const
Definition: RooAbsProxy.h:48
RooAbsProxy()
Constructor.
Definition: RooAbsProxy.cxx:43
RooArgSet * _nset
! Normalization set to be used for evaluation of RooAbsPdf contents
Definition: RooAbsProxy.h:56
virtual void print(std::ostream &os, bool addContents=false) const
Print proxy name.
Definition: RooAbsProxy.cxx:71
virtual const char * name() const
Definition: RooAbsProxy.h:43
virtual bool changePointer(const RooAbsCollection &newServerSet, bool nameChange=false, bool factoryInitMode=false)=0
virtual ~RooAbsProxy()
Definition: RooAbsProxy.h:39
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:56