Ciao oregon allora ti spiego. Questo programma (vedi allegato al primo messaggio) fa 3 operazioni
1) legge i dati da files .outu generati con un programma di simulazione di EAS (sciami di particelle indotti da un particella primaria in atmosfera) chiamato CORSIKA
2) fa dei calcoli su tali dati
3) Disegna degli istogrammi tramite un programma chiamato ROOT
partiamo da queste definizioni
distanza dal core (chiamata dcore nel programma): è la distanza dal core ( proiezione sul piano della direzione della particella primaria)
densità di particelle nella corona, ovvero il rapporto tra il numero delle particelle #particelle e l'area della corona, dove l'area della corona si calcola area=pi*(r2^2-r1^2), tale dentità è chiamata "cont"
Il programma già faceva un istogramma in cui sull'asse delle x abbiamo la distanza dal core e l'asse delle y la densità corrispondente alle varie distanze, cioè densità a dcore==0, densità a dcore==1, ecc ecc.
per far questo il programma fa questi cicli for
binw=(xmax3-xmin3)/nbin3; // bin width
for(int i=0;i<nbin3;i++) {
r1=i*binw;
r2=(i+1)*binw;
corona=pi*(r2*r2-r1*r1); // area corona
cont=hgamlat->GetBinContent(i+1);
cont=cont/corona/nevok;
hgamlat->SetBinContent(i+1,cont);
}
in cui a ogni ciclo setta nell'istogramma i valori di cont e poi invece i valori di dcore li calcola come :
rx = 1.e-2 * pdata[lz+4];
ry = 1.e-2 * pdata[lz+5];
dcore=sqrt(rx*rx+ry*ry); // distance from the shower core
Infine il riempimento dell'istogramma lo fa come:
if (ok==1) hgamlat->Fill(dcore,w);
a me quello che serve è sapere, se ad esempio voglio la densità a una distanza dal core dcore==10, quale valore di "i" devo cercare?
cioè io devo scrivere:
for(int i=0;i<nbin3;i++) {
r1=i*binw;
r2=(i+1)*binw;
corona=pi*(r2*r2-r1*r1); // area corona
cont=hgamlat_1100->GetBinContent(i+1);
cont=cont/corona/nevok1100;
if(i==xx) cout << " gamma density at 10 metri " << cont << endl;
hgamlat_1100->SetBinContent(i+1,cont);
}
ora la mia domanda è, come capire se voglio la densità a 10 metri devo impostare i==... , se la voglio a 50 metri i==....ecc ecc?