10 #include "KVCaloBase.h"
11 #include "KVNDTManager.h"
36 SetNameIndex(
"Zsum", 0);
37 SetNameIndex(
"Asum", 1);
38 SetNameIndex(
"Eksum", 2);
39 SetNameIndex(
"Qsum", 3);
40 SetNameIndex(
"Msum", 4);
41 SetNameIndex(
"Qini", 5);
42 SetNameIndex(
"Exci", 6);
57 for (
auto& par : nvl_ing) {
79 if (!strcmp(
option,
"ing"))
81 else if (!strcmp(
option,
"par"))
100 if (!strcmp(
option,
"ing"))
102 if (!strcmp(
option,
"par"))
105 Info(
"GetList",
"type has to be equal to \"ing\" or \"par\"");
181 if (
name.BeginsWith(
"E") ||
name.BeginsWith(
"Q") ||
name.BeginsWith(
"T"))
return 'D';
194 std::vector<Double_t> tab;
196 tab.push_back(getvalue_int(ii));
207 void KVCaloBase::init_KVCaloBase()
219 nvl_ing.
SetName(
"Ingredients");
272 Double_t before = GetIngValue(name);
274 SetIngValue(name, before);
287 void KVCaloBase::fill(
const KVNucleus* n)
297 AddIngValue(
"Zsum",
n->GetZ());
298 AddIngValue(
"Asum",
n->GetA());
299 AddIngValue(
"Eksum",
n->GetKE());
300 AddIngValue(
"Qsum",
n->GetMassExcess());
301 AddIngValue(
"Msum", 1);
319 void KVCaloBase::SumUp()
341 void KVCaloBase::ComputeExcitationEnergy()
343 Double_t exci = GetIngValue(
"Qsum") + GetIngValue(
"Eksum") - GetIngValue(
"Qini");
344 SetIngValue(
"Exci", exci);
359 AddIngValue(
"Asum", mult);
360 AddIngValue(
"Eksum", mult * mke);
362 AddIngValue(
"Msum", mult);
390 if (!kIsModified)
return;
395 ComputeExcitationEnergy();
434 kracine_max = 0, kracine_min = 0;
442 SetIngValue(
"RootStatus", kroot_status);
446 x1 = (-1.*bb + racDelta) / (2.*aa);
447 x2 = (-1.*(bb + racDelta)) / (2.*aa);
462 kracine_max = kracine_min = -1.*
cc / bb;
466 kracine_max = kracine_min = 0;
467 SetIngValue(
"RootStatus", kroot_status);
470 if (kroot_status < 0) {
471 SetIngValue(
"RootStatus", kroot_status);
void GetParameters(TFitEditor::FuncParams_t &pars, TF1 *func)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Calorimetry of hot nuclei.
Char_t GetValueType(Int_t) const override
void Print(Option_t *opt="") const override
void AddNeutrons(Int_t mult, Double_t mke)
const KVNameValueList & GetList(Option_t *opt="ing") const
void Calculate() override
std::vector< Double_t > GetValueVector(void) const override
On retourne un tableau rassemblant l'ensemble des ingredients.
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Double_t GetDoubleValue(const Char_t *name) const
void SetValue(const Char_t *name, value_type value)
Bool_t HasParameter(const Char_t *name) const
void Print(Option_t *opt="") const override
Description of properties and kinematics of atomic nuclei.
Double_t GetMassExcess(Int_t z=-1, Int_t a=-1) const
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
virtual Int_t GetNumberOfValues() const
void Print(Option_t *="") const override
void Copy(TObject &obj) const override
virtual TString GetValueName(Int_t i) const
virtual void SetName(const char *name)
virtual void Info(const char *method, const char *msgfmt,...) const
Double_t Power(Double_t x, Double_t y)
Double_t Sqrt(Double_t x)
const long double cc
volumes