60 printf(
"___________________________________________________________\n");
61 printf(
"Radioactive material:\n");
65 printf(
"Radioactive material evolution after %g years:\n", time/3.1536e7);
71 printf(
"___________________________________________________________\n");
72 printf(
"Radioactive mixture:\n");
76 printf(
"Radioactive mixture evolution after %g seconds:\n", time);
83 TLatex *tex =
new TLatex(8.35e11,0.564871,
"C_{N^{14}_{7}}");
87 tex =
new TLatex(3.33e11,0.0620678,
"C_{C^{14}_{6}}");
91 tex =
new TLatex(9.4e11,0.098,
"C_{X}=#frac{N_{X}(t)}{N_{0}(t=0)}=\
92 #sum_{j}#alpha_{j}e^{-#lambda_{j}t}");
100 text = pt->
AddText(
"Time evolution of a population of radionuclides.");
101 text = pt->
AddText(
"The concentration of a nuclide X represent the ");
102 text = pt->
AddText(
"ratio between the number of X nuclei and the ");
103 text = pt->
AddText(
"number of nuclei of the top element of the decay");
104 text = pt->
AddText(
"from which X derives from at T=0. ");
112 tex =
new TLatex(0.019,0.861,
"C_{Ca^{53}_{20}}");
116 tex =
new TLatex(0.0311,0.078064,
"C_{Sc^{52}_{21}}");
120 tex =
new TLatex(0.1337,0.010208,
"C_{Ti^{52}_{22}}");
124 tex =
new TLatex(1.54158,0.00229644,
"C_{V^{52}_{23}}");
128 tex =
new TLatex(25.0522,0.00135315,
"C_{Cr^{52}_{24}}");
132 tex =
new TLatex(0.1056,0.5429,
"C_{Sc^{53}_{21}}");
136 tex =
new TLatex(0.411,0.1044,
"C_{Ti^{53}_{22}}");
140 tex =
new TLatex(2.93358,0.0139452,
"C_{V^{53}_{23}}");
144 tex =
new TLatex(10.6235,0.00440327,
"C_{Cr^{53}_{24}}");
148 tex =
new TLatex(15.6288,0.782976,
"C_{Sr^{78}_{38}}");
152 tex =
new TLatex(20.2162,0.141779,
"C_{Rb^{78}_{37}}");
156 tex =
new TLatex(32.4055,0.0302101,
"C_{Kr^{78}_{36}}");
160 tex =
new TLatex(117.,1.52,
"C_{X}=#frac{N_{X}(t)}{N_{0}(t=0)}=#sum_{j}\
161 #alpha_{j}e^{-#lambda_{j}t}");
171 arrow =
new TArrow(0.0543138,0.0586338,0.136594,0.0146596,0.02,
">");
177 arrow =
new TArrow(0.31528,0.00722919,1.29852,0.00306079,0.02,
">");
183 arrow =
new TArrow(4.13457,0.00201942,22.5047,0.00155182,0.02,
">");
189 arrow =
new TArrow(0.0543138,0.761893,0.0928479,0.67253,0.02,
">");
195 arrow =
new TArrow(0.238566,0.375717,0.416662,0.154727,0.02,
">");
201 arrow =
new TArrow(0.653714,0.074215,2.41863,0.0213142,0.02,
">");
207 arrow =
new TArrow(5.58256,0.00953882,10.6235,0.00629343,0.02,
">");
213 arrow =
new TArrow(22.0271,0.601935,22.9926,0.218812,0.02,
">");
219 arrow =
new TArrow(27.2962,0.102084,36.8557,0.045686,0.02,
">");
238 for (
Int_t i=0; i<
n; i++) {
246 if (tmax>0.) sol->
SetRange(tmin,tmax);
253 "Concentration of C14 derived elements;time[s];Ni/N0(C14)");
255 "Concentration of elements derived from mixture Ca53+Sr78;\
256 time[s];Ni/N0(Ca53)");
259 else sol->
Draw(
"SAME");
virtual void SetLineWidth(Width_t lwidth)
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
virtual void Draw(Option_t *option="")
Draw the solution of Bateman equation versus time.
virtual void Clear(Option_t *option="")
Remove all objects from the array.
TGeoElementTable * GetElementTable()
Returns material table. Creates it if not existing.
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
virtual void SetFillStyle(Style_t fstyle)
Int_t GetEntriesFast() const
TGeoElementRN * GetElementRN(Int_t ENDFcode) const
Retreive a radionuclide by ENDF code.
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 elements composi...
TGeoBatemanSol * Ratio() const
virtual void Draw(Option_t *option="")
Draw this arrow with its current attributes.
virtual void SetGrid(Int_t valuex=1, Int_t valuey=1)
To draw Mathematical Formula.
virtual void SetLogx(Int_t value=1)
Set Lin/Log scale for X.
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...
virtual void SetTextAlign(Short_t align=11)
const char * GetName() const
Returns name of object.
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 ...
virtual void SetLineColor(Color_t lcolor)
virtual TObject * FindObject(const char *name) const
Search if object named name is inside this pad or in pads inside this pad.
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 SetFillColor(Color_t fcolor)
char * Form(const char *fmt,...)
virtual const char * GetName() const
Returns name of object.
virtual void SetTitle(const char *title="")
Set function title if title has the form "fffffff;xxxx;yyyy", it is assumed that the function title i...
A Pave (see TPave) with text, lines or/and boxes inside.
R__EXTERN TGeoManager * gGeoManager
virtual Bool_t IsRadioNuclide() const
ClassImp(TMCParticle) void TMCParticle printf(": p=(%7.3f,%7.3f,%9.3f) ;", fPx, fPy, fPz)
double func(double *x, double *p)
virtual void Print(const Option_t *option="") const
print characteristics of this material
TGeoElementRN * GetElement() const
virtual void SetTextColor(Color_t tcolor=1)
virtual TGeoMaterial * DecayMaterial(Double_t time, Double_t precision=0.001)
Create the mixture representing the decay product of this material at a given time.
virtual void SetTextSize(Float_t tsize=1)
TObject * At(Int_t idx) const
Draw all kinds of Arrows.
void DrawPopulation(TObjArray *vect, TCanvas *can, Double_t tmin=0., Double_t tmax=0., Bool_t logx=kFALSE)
virtual void Print(const Option_t *option="") const
print characteristics of this material
void SetRange(Double_t tmin=0., Double_t tmax=0.)
void Modified(Bool_t flag=1)
virtual void SetAngle(Float_t angle=60)
virtual void SetLogy(Int_t value=1)
Set Lin/Log scale for Y.