91 printf(
"___________________________________________________________\n");
92 printf(
"Radioactive material:\n");
96 printf(
"Radioactive material evolution after %g years:\n", time / 3.1536e7);
102 printf(
"___________________________________________________________\n");
103 printf(
"Radioactive mixture:\n");
107 printf(
"Radioactive mixture evolution after %g seconds:\n", time);
113 DrawPopulation(vect,
c1, 0, 1.4e12);
114 TLatex *tex =
new TLatex(8.35e11, 0.564871,
"C_{N^{14}_{7}}");
118 tex =
new TLatex(3.33e11, 0.0620678,
"C_{C^{14}_{6}}");
122 tex =
new TLatex(9.4e11, 0.098,
"C_{X}=#frac{N_{X}(t)}{N_{0}(t=0)}=\
123 #sum_{j}#alpha_{j}e^{-#lambda_{j}t}");
131 pt->
AddText(
"Time evolution of a population of radionuclides.");
132 pt->
AddText(
"The concentration of a nuclide X represent the ");
133 pt->
AddText(
"ratio between the number of X nuclei and the ");
134 pt->
AddText(
"number of nuclei of the top element of the decay");
135 pt->
AddText(
"from which X derives from at T=0. ");
142 DrawPopulation(vect,
c2, 0.01, 1000.,
kTRUE);
143 tex =
new TLatex(0.019, 0.861,
"C_{Ca^{53}_{20}}");
147 tex =
new TLatex(0.0311, 0.078064,
"C_{Sc^{52}_{21}}");
151 tex =
new TLatex(0.1337, 0.010208,
"C_{Ti^{52}_{22}}");
155 tex =
new TLatex(1.54158, 0.00229644,
"C_{V^{52}_{23}}");
159 tex =
new TLatex(25.0522, 0.00135315,
"C_{Cr^{52}_{24}}");
163 tex =
new TLatex(0.1056, 0.5429,
"C_{Sc^{53}_{21}}");
167 tex =
new TLatex(0.411, 0.1044,
"C_{Ti^{53}_{22}}");
171 tex =
new TLatex(2.93358, 0.0139452,
"C_{V^{53}_{23}}");
175 tex =
new TLatex(10.6235, 0.00440327,
"C_{Cr^{53}_{24}}");
179 tex =
new TLatex(15.6288, 0.782976,
"C_{Sr^{78}_{38}}");
183 tex =
new TLatex(20.2162, 0.141779,
"C_{Rb^{78}_{37}}");
187 tex =
new TLatex(32.4055, 0.0302101,
"C_{Kr^{78}_{36}}");
191 tex =
new TLatex(117., 1.52,
"C_{X}=#frac{N_{X}(t)}{N_{0}(t=0)}=#sum_{j}\
192 #alpha_{j}e^{-#lambda_{j}t}");
197 arrow->SetFillColor(1);
198 arrow->SetFillStyle(1001);
199 arrow->SetLineWidth(2);
202 arrow =
new TArrow(0.0543138, 0.0586338, 0.136594, 0.0146596, 0.02,
">");
203 arrow->SetFillColor(1);
204 arrow->SetFillStyle(1001);
205 arrow->SetLineWidth(2);
208 arrow =
new TArrow(0.31528, 0.00722919, 1.29852, 0.00306079, 0.02,
">");
209 arrow->SetFillColor(1);
210 arrow->SetFillStyle(1001);
211 arrow->SetLineWidth(2);
214 arrow =
new TArrow(4.13457, 0.00201942, 22.5047, 0.00155182, 0.02,
">");
215 arrow->SetFillColor(1);
216 arrow->SetFillStyle(1001);
217 arrow->SetLineWidth(2);
220 arrow =
new TArrow(0.0543138, 0.761893, 0.0928479, 0.67253, 0.02,
">");
221 arrow->SetFillColor(1);
222 arrow->SetFillStyle(1001);
223 arrow->SetLineWidth(2);
226 arrow =
new TArrow(0.238566, 0.375717, 0.416662, 0.154727, 0.02,
">");
227 arrow->SetFillColor(1);
228 arrow->SetFillStyle(1001);
229 arrow->SetLineWidth(2);
232 arrow =
new TArrow(0.653714, 0.074215, 2.41863, 0.0213142, 0.02,
">");
233 arrow->SetFillColor(1);
234 arrow->SetFillStyle(1001);
235 arrow->SetLineWidth(2);
238 arrow =
new TArrow(5.58256, 0.00953882, 10.6235, 0.00629343, 0.02,
">");
239 arrow->SetFillColor(1);
240 arrow->SetFillStyle(1001);
241 arrow->SetLineWidth(2);
244 arrow =
new TArrow(22.0271, 0.601935, 22.9926, 0.218812, 0.02,
">");
245 arrow->SetFillColor(1);
246 arrow->SetFillStyle(1001);
247 arrow->SetLineWidth(2);
250 arrow =
new TArrow(27.2962, 0.102084, 36.8557, 0.045686, 0.02,
">");
251 arrow->SetFillColor(1);
252 arrow->SetFillStyle(1001);
253 arrow->SetLineWidth(2);
268 for (
Int_t i = 0; i <
n; i++) {
283 if (!strcmp(can->
GetName(),
"c1"))
284 func->
SetTitle(
"Concentration of C14 derived elements;time[s];Ni/N0(C14)");
286 func->
SetTitle(
"Concentration of elements derived from mixture Ca53+Sr78;\
287 time[s];Ni/N0(Ca53)");
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.