92 printf(
"___________________________________________________________\n");
93 printf(
"Radioactive material:\n");
97 printf(
"Radioactive material evolution after %g years:\n", time/3.1536e7);
103 printf(
"___________________________________________________________\n");
104 printf(
"Radioactive mixture:\n");
108 printf(
"Radioactive mixture evolution after %g seconds:\n", time);
114 DrawPopulation(vect,
c1, 0, 1.4e12);
115 TLatex *tex =
new TLatex(8.35e11,0.564871,
"C_{N^{14}_{7}}");
119 tex =
new TLatex(3.33e11,0.0620678,
"C_{C^{14}_{6}}");
123 tex =
new TLatex(9.4e11,0.098,
"C_{X}=#frac{N_{X}(t)}{N_{0}(t=0)}=\
124 #sum_{j}#alpha_{j}e^{-#lambda_{j}t}");
132 pt->
AddText(
"Time evolution of a population of radionuclides.");
133 pt->
AddText(
"The concentration of a nuclide X represent the ");
134 pt->
AddText(
"ratio between the number of X nuclei and the ");
135 pt->
AddText(
"number of nuclei of the top element of the decay");
136 pt->
AddText(
"from which X derives from at T=0. ");
143 DrawPopulation(vect,
c2, 0.01, 1000.,
kTRUE);
144 tex =
new TLatex(0.019,0.861,
"C_{Ca^{53}_{20}}");
148 tex =
new TLatex(0.0311,0.078064,
"C_{Sc^{52}_{21}}");
152 tex =
new TLatex(0.1337,0.010208,
"C_{Ti^{52}_{22}}");
156 tex =
new TLatex(1.54158,0.00229644,
"C_{V^{52}_{23}}");
160 tex =
new TLatex(25.0522,0.00135315,
"C_{Cr^{52}_{24}}");
164 tex =
new TLatex(0.1056,0.5429,
"C_{Sc^{53}_{21}}");
168 tex =
new TLatex(0.411,0.1044,
"C_{Ti^{53}_{22}}");
172 tex =
new TLatex(2.93358,0.0139452,
"C_{V^{53}_{23}}");
176 tex =
new TLatex(10.6235,0.00440327,
"C_{Cr^{53}_{24}}");
180 tex =
new TLatex(15.6288,0.782976,
"C_{Sr^{78}_{38}}");
184 tex =
new TLatex(20.2162,0.141779,
"C_{Rb^{78}_{37}}");
188 tex =
new TLatex(32.4055,0.0302101,
"C_{Kr^{78}_{36}}");
192 tex =
new TLatex(117.,1.52,
"C_{X}=#frac{N_{X}(t)}{N_{0}(t=0)}=#sum_{j}\
193 #alpha_{j}e^{-#lambda_{j}t}");
198 arrow->SetFillColor(1);
199 arrow->SetFillStyle(1001);
200 arrow->SetLineWidth(2);
203 arrow =
new TArrow(0.0543138,0.0586338,0.136594,0.0146596,0.02,
">");
204 arrow->SetFillColor(1);
205 arrow->SetFillStyle(1001);
206 arrow->SetLineWidth(2);
209 arrow =
new TArrow(0.31528,0.00722919,1.29852,0.00306079,0.02,
">");
210 arrow->SetFillColor(1);
211 arrow->SetFillStyle(1001);
212 arrow->SetLineWidth(2);
215 arrow =
new TArrow(4.13457,0.00201942,22.5047,0.00155182,0.02,
">");
216 arrow->SetFillColor(1);
217 arrow->SetFillStyle(1001);
218 arrow->SetLineWidth(2);
221 arrow =
new TArrow(0.0543138,0.761893,0.0928479,0.67253,0.02,
">");
222 arrow->SetFillColor(1);
223 arrow->SetFillStyle(1001);
224 arrow->SetLineWidth(2);
227 arrow =
new TArrow(0.238566,0.375717,0.416662,0.154727,0.02,
">");
228 arrow->SetFillColor(1);
229 arrow->SetFillStyle(1001);
230 arrow->SetLineWidth(2);
233 arrow =
new TArrow(0.653714,0.074215,2.41863,0.0213142,0.02,
">");
234 arrow->SetFillColor(1);
235 arrow->SetFillStyle(1001);
236 arrow->SetLineWidth(2);
239 arrow =
new TArrow(5.58256,0.00953882,10.6235,0.00629343,0.02,
">");
240 arrow->SetFillColor(1);
241 arrow->SetFillStyle(1001);
242 arrow->SetLineWidth(2);
245 arrow =
new TArrow(22.0271,0.601935,22.9926,0.218812,0.02,
">");
246 arrow->SetFillColor(1);
247 arrow->SetFillStyle(1001);
248 arrow->SetLineWidth(2);
251 arrow =
new TArrow(27.2962,0.102084,36.8557,0.045686,0.02,
">");
252 arrow->SetFillColor(1);
253 arrow->SetFillStyle(1001);
254 arrow->SetLineWidth(2);
270 for (
Int_t i=0; i<
n; i++) {
278 if (tmax>0.) sol->
SetRange(tmin,tmax);
285 "Concentration of C14 derived elements;time[s];Ni/N0(C14)");
287 "Concentration of elements derived from mixture Ca53+Sr78;\
288 time[s];Ni/N0(Ca53)");
291 else sol->
Draw(
"SAME");
R__EXTERN TGeoManager * gGeoManager
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Draw all kinds of Arrows.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
void SetTitle(const char *title="") override
Set function title if title has the form "fffffff;xxxx;yyyy", it is assumed that the function title i...
void SetRange(Double_t tmin=0., Double_t tmax=0.)
void Draw(Option_t *option="") override
Draw the solution of Bateman equation versus time.
TGeoElementRN * GetElement() const
Class representing a radionuclidevoid TGeoManager::SetDefaultRootUnits() { if ( fgDefaultUnits == kRo...
TGeoBatemanSol * Ratio() const
TGeoElementRN * GetElementRN(Int_t ENDFcode) const
Retrieve a radionuclide by ENDF code.
Base class for chemical elements.
virtual Bool_t IsRadioNuclide() const
The manager class for any TGeo geometry.
TGeoElementTable * GetElementTable()
Returns material table. Creates it if not existing.
Base class describing materials.
virtual TGeoMaterial * DecayMaterial(Double_t time, Double_t precision=0.001)
Create the material representing the decay product of this material at a given time.
virtual void FillMaterialEvolution(TObjArray *population, Double_t precision=0.001)
Fills a user array with all the elements deriving from the possible decay of the top element composin...
void Print(const Option_t *option="") const override
print characteristics of this material
void AddElement(Double_t a, Double_t z, Double_t weight)
add an element to the mixture using fraction by weight Check if the element is already defined
TGeoMaterial * DecayMaterial(Double_t time, Double_t precision=0.001) override
Create the mixture representing the decay product of this material at a given time.
void FillMaterialEvolution(TObjArray *population, Double_t precision=0.001) override
Fills a user array with all the elements deriving from the possible decay of the top elements composi...
void Print(const Option_t *option="") const override
print characteristics of this material
To draw Mathematical Formula.
const char * GetName() const override
Returns name of object.
Int_t GetEntriesFast() const
void Clear(Option_t *option="") override
Remove all objects from the array.
TObject * At(Int_t idx) const override
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
void SetLogy(Int_t value=1) override
Set Lin/Log scale for Y.
TObject * FindObject(const char *name) const override
Search if object named name is inside this pad or in pads inside this pad.
void SetLogx(Int_t value=1) override
Set Lin/Log scale for X.
const char * GetName() const override
Returns name of object.
A Pave (see TPave) with text, lines or/and boxes inside.
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
void Draw(Option_t *option="") override
Draw this pavetext with its current attributes.