10 #include "KVCaloBase.h"
35 SetNameIndex(
"Zsum", 0);
36 SetNameIndex(
"Asum", 1);
37 SetNameIndex(
"Eksum", 2);
38 SetNameIndex(
"Qsum", 3);
39 SetNameIndex(
"Msum", 4);
40 SetNameIndex(
"Qini", 5);
41 SetNameIndex(
"Exci", 6);
56 for (
auto& par : nvl_ing) {
78 if (!strcmp(
option,
"ing"))
80 else if (!strcmp(
option,
"par"))
99 if (!strcmp(
option,
"ing"))
101 if (!strcmp(
option,
"par"))
104 Info(
"GetList",
"type has to be equal to \"ing\" or \"par\"");
180 if (
name.BeginsWith(
"E") ||
name.BeginsWith(
"Q") ||
name.BeginsWith(
"T"))
return 'D';
193 std::vector<Double_t> tab;
195 tab.push_back(getvalue_int(ii));
206 void KVCaloBase::init_KVCaloBase()
218 nvl_ing.
SetName(
"Ingredients");
271 Double_t before = GetIngValue(name);
273 SetIngValue(name, before);
286 void KVCaloBase::fill(
const KVNucleus* n)
296 AddIngValue(
"Zsum",
n->GetZ());
297 AddIngValue(
"Asum",
n->GetA());
298 AddIngValue(
"Eksum",
n->GetKE());
299 AddIngValue(
"Qsum",
n->GetMassExcess());
300 AddIngValue(
"Msum", 1);
318 void KVCaloBase::SumUp()
340 void KVCaloBase::ComputeExcitationEnergy()
342 Double_t exci = GetIngValue(
"Qsum") + GetIngValue(
"Eksum") - GetIngValue(
"Qini");
343 SetIngValue(
"Exci", exci);
358 AddIngValue(
"Asum", mult);
359 AddIngValue(
"Eksum", mult * mke);
361 AddIngValue(
"Msum", mult);
389 if (!kIsModified)
return;
394 ComputeExcitationEnergy();
433 kracine_max = 0, kracine_min = 0;
441 SetIngValue(
"RootStatus", kroot_status);
445 x1 = (-1.*bb + racDelta) / (2.*aa);
446 x2 = (-1.*(bb + racDelta)) / (2.*aa);
461 kracine_max = kracine_min = -1.*
cc / bb;
465 kracine_max = kracine_min = 0;
466 SetIngValue(
"RootStatus", kroot_status);
469 if (kroot_status < 0) {
470 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(std::optional< int > z={}, std::optional< int > a={}) 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