```// @(#)root/roostats:\$Id\$
// Authors: Kevin Belasco        17/06/2009
// Authors: Kyle Cranmer         17/06/2009
/*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
*                                                                       *
* For the licensing terms see \$ROOTSYS/LICENSE.                         *
* For the list of contributors see \$ROOTSYS/README/CREDITS.             *
*************************************************************************/

#ifndef ROOSTATS_UniformProposal
#define ROOSTATS_UniformProposal

#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif

#ifndef ROOSTATS_ProposalFunction
#include "RooStats/ProposalFunction.h"
#endif

#ifndef ROO_ARG_SET
#include "RooArgSet.h"
#endif
#ifndef ROO_MSG_SERVICE
#include "RooMsgService.h"
#endif
#ifndef ROO_REAL_VAR
#include "RooRealVar.h"
#endif
#ifndef ROOT_TIterator
#include "TIterator.h"
#endif

namespace RooStats {

class UniformProposal : public ProposalFunction {

public:
UniformProposal() : ProposalFunction() {}

// Populate xPrime with a new proposed point
virtual void Propose(RooArgSet& xPrime, RooArgSet& x);

// Determine whether or not the proposal density is symmetric for
// points x1 and x2 - that is, whether the probabilty of reaching x2
// from x1 is equal to the probability of reaching x1 from x2
virtual Bool_t IsSymmetric(RooArgSet& x1, RooArgSet& x2);

// Return the probability of proposing the point x1 given the starting
// point x2
virtual Double_t GetProposalDensity(RooArgSet& x1, RooArgSet& x2);

virtual ~UniformProposal() {}

ClassDef(UniformProposal,1) // A concrete implementation of ProposalFunction, that uniformly samples the parameter space.
};
}

#endif
```
UniformProposal.h:1
UniformProposal.h:2
UniformProposal.h:3
UniformProposal.h:4
UniformProposal.h:5
UniformProposal.h:6
UniformProposal.h:7
UniformProposal.h:8
UniformProposal.h:9
UniformProposal.h:10
UniformProposal.h:11
UniformProposal.h:12
UniformProposal.h:13
UniformProposal.h:14
UniformProposal.h:15
UniformProposal.h:16
UniformProposal.h:17
UniformProposal.h:18
UniformProposal.h:19
UniformProposal.h:20
UniformProposal.h:21
UniformProposal.h:22
UniformProposal.h:23
UniformProposal.h:24
UniformProposal.h:25
UniformProposal.h:26
UniformProposal.h:27
UniformProposal.h:28
UniformProposal.h:29
UniformProposal.h:30
UniformProposal.h:31
UniformProposal.h:32
UniformProposal.h:33
UniformProposal.h:34
UniformProposal.h:35
UniformProposal.h:36
UniformProposal.h:37
UniformProposal.h:38
UniformProposal.h:39
UniformProposal.h:40
UniformProposal.h:41
UniformProposal.h:42
UniformProposal.h:43
UniformProposal.h:44
UniformProposal.h:45
UniformProposal.h:46
UniformProposal.h:47
UniformProposal.h:48
UniformProposal.h:49
UniformProposal.h:50
UniformProposal.h:51
UniformProposal.h:52
UniformProposal.h:53
UniformProposal.h:54
UniformProposal.h:55
UniformProposal.h:56
UniformProposal.h:57
UniformProposal.h:58
UniformProposal.h:59
UniformProposal.h:60
UniformProposal.h:61