File: ACDCSampler.h
Description:
This class inherits from SampleBase and implements
the Auto Compensating Divide-and-Conquer phase space generator,
ACDCGen.
See
also:
namespace Pythia7
CLASS
ACDCSampler:
Base class:
Public members:
typedef ACDCGenerator::ACDCGen<RandomGenerator,tEHPtr> SamplerType;
inline ACDCSampler();
inline ACDCSampler(const ACDCSampler &);
virtual ~ACDCSampler();
Standard ctors and dtor.
virtual void initialize();
Initialize the the sampler, possibly doing presampling of the
phase space.
virtual double generate();
Generarate a new phase space point and return a weight associated
with it. This weight should preferably be 1.
virtual int lastBin() const;
ACDCSampler is able to sample several different functions
separately. This function returns the last chosen
function.
virtual void rejectLast();
Reject the last chosen phase space point.
virtual CrossSection integratedXSec() const;
Return the total integrated cross section determined from the
Monte Carlo sampling so far.
virtual double sumWeights() const;
Return the sum of the weights returned by generate() so far (of
the events that were not rejeted).
void persistentOutput(PersistentOStream &) const;
void persistentInput(PersistentIStream &, int);
Standard functions for writing and reading from persistent streams.
static void Init();
Standard Init function used to initialize the interfaces.
Protected members:
inline virtual IBPtr clone() const;
inline virtual IBPtr fullclone() const;
Standard clone methods.
inline virtual void doupdate() throw(UpdateException);
inline virtual void doinit() throw(InitException);
virtual void doinitrun();
virtual void dofinish();
Standard Interfaced virtual functions.
inline virtual void rebind(const TranslationMap & trans)
throw(RebindException);
Change all pointers to Interfaced objects to corresponding clones.
inline virtual IVector getReferences();
Return pointers to all Interfaced objects refered to by this.
Private members:
SamplerType theSampler;
The actual sampler object.
double theEps;
The smallest possible division allowed.
double theMargin;
The factor controlling the loss of efficiency when compensating.
int theNTry;
The number of points to use to find initial average.
static ClassDescription<ACDCSampler> initACDCSampler;
Describe a concrete class with persistent data.
ACDCSampler & operator=(const ACDCSampler &);
Private and non-existent assignment operator.
DEFINED MACROS
INCLUDED FILES
Pythia7/Handlers/SamplerBase.h
Pythia7/ACDC/ACDCGen.h
Pythia7/Handlers/EventHandler.h
Pythia7/Repository/RandomGenerator.h
Pythia7/Utilities/SimplePhaseSpace.xh