Simulation of coincidences in 3 detectors

Test of automatic peak find routine

Xcom - gamma attenuation coefficients

ut.C - utility library for Root.

button.C - utility library for Root.

Simulation of coincidences 04/09/23

Some uncertainities around the way how to count the intensity of coincidences resulted in this small program Root/05_progs/02_gcoin_sim named mktree.C. This program need number of events as parameter and creates tree on disk (detector branches), defines angle ranges in dint array and distributes gamma following the random angle. Then first gamma has it's efficiency and the second has a different efficiency of detection. It creates sumpeaks by adding the second gamma to det field with energy.
Analysis is made within Loop of tcoin.[Ch] , that is made from the Tree by t->MakeClass(); (run automaticaly from anal.C).

Test of automatic peak find routine 05/04/12

Name: testfit.C

Xcom - gamma attenuation coefficients 04/09/27

Program a.out is located in F/xcom/. Just run it and select proper values from the line menu.

Maintained programs ....

ut.C - utility library for Root started 04/10/12

evolution bar; use: if (max%n==100){ evobar(n/max);}
Tconffile: 04/10/18
object to read ini files with simple syntax: comments (#) in the line start allowed, else there is a keyword value pair with one space between.
coinmark started 04/10/07
object to colect (gamma) coincidences within some procedure; Just define initial conditions, read the file with energy gates and then - in every event - function catalog will care about filling proper histograms.
The object in defined in a class Tcoinmark; (Programed object resided at Root/04_prepared/02_prep_coin/01_objm/) use:
Tcoinmark *tc=new Tcoinmark("a.marks");
float e[4];tc->catalog(4,e);

decaysim 04/09/23

Program nuclid.h resides in Root/05_progs/02_decaysim. It uses object class Tnuc and main functions are int Tnuc::add_daughter(Tnuc *me, float rrr) , which adds an object and branching (branching is recalculated everytime new branch is added) AND event(t).
int Tnuc::event(double ttt) makes one event at time ttt, it runs TH1D filling, it calls get_branch(), and then it fills proper objects in proper time obtained via (get_time(ttt)) by calling daughter's event(tout).
Example of use is in run.C.
Problems: not really precise because of ln(low number). Struggles at faint scale....
example of use:

Tnuc* Cl,*Ar45,*Ar44,*K45;
Cl=new Tnuc("Cl",0.4);
Ar45=new Tnuc("Ar45",21.48);
Ar44=new Tnuc("Ar44",11.87*60);
K45=new Tnuc("K45",17.3*60);
Cl->add_daughter( Ar45, 100.);
Cl->add_daughter( Ar44, 24.);
Ar45->add_daughter( K45, 100.);

for (int i=0;i<10000;i++){
Cl->event(0.0+float(i)*0.01 );
delete Cl;
delete Ar45;
delete Ar44;
delete K45;


Big block of functions for spectra analysis..... Descriptions will appear during the time....

efficiency tools

end of file