4 #include "KVGenPhaseSpace.h"
15 void KVGenPhaseSpace::init()
32 void KVGenPhaseSpace::InitialiseMCSampler()
121 fMult =
e->GetMult();
123 fOK = CheckBreakUpChannel();
124 if (!fOK)
return fOK;
127 fMasses.reserve(fMult);
130 InitialiseMCSampler();
161 KVError::Warning(
this,
"Generate",
"Generator is not initialised correctly.");
166 for (
int i = 0; i < fMult; i++) {
180 Bool_t KVGenPhaseSpace::CheckBreakUpChannel()
189 if (ztot != fCompound.
GetZ() || atot != fCompound.
GetA()) {
190 KVError::Warning(
this,
"CheckBreakUpChannel",
"Compound has (Z,A)=(%d,%d), break-up channel has (Z,A)=(%d,%d)",
191 fCompound.
GetZ(), fCompound.
GetA(), ztot, atot);
198 KVError::Warning(
this,
"CheckBreakUpChannel",
"Excitation energy of compound must be > %.2lf MeV", exmin);
Base class for KaliVeda framework.
void Copy(TObject &) const override
Make a copy of this object.
Abstract base class container for multi-particle events.
KVNameValueList * GetParameters() const
virtual Double_t GetSum(const Char_t *, Option_t *="")=0
virtual KVParticle * GetParticle(Int_t npart) const =0
virtual Double_t GetChannelQValue() const =0
virtual void GetMasses(std::vector< Double_t > &)=0
virtual Int_t GetMult(Option_t *opt="") const
Generate momenta for an event using microcanonical phase space sampling.
Bool_t SetBreakUpChannel(const KVNucleus &CN, KVEvent *e)
virtual ~KVGenPhaseSpace()
Destructor.
void Copy(TObject &obj) const override
virtual Double_t Generate()
KVGenPhaseSpace()
Default constructor.
void SetValue(const Char_t *name, value_type value)
Description of properties and kinematics of atomic nuclei.
Double_t GetExcitEnergy() const
Int_t GetZ() const
Return the number of proton / atomic number.
void Set4Mom(const TLorentzVector &p)
Bool_t SetDecay(TLorentzVector &P, Int_t nt, const Double_t *mass, Option_t *opt="")
void Warning(UserClass p, const char *location, const char *va_(fmt),...)