{ /* * Questo e' un esempio di macro intesa come sequenza di istruzioni * da dare a ROOT affinche' vengano eseguite sequenzialmente. * La macro apre un file e vi stampa una sequenza di numeri casuali con * distribuzione gaussiana. * Per eseguirla, dare dalla linea di comando di ROOT l'istruzione * .x randfile.c */ /* * Per prima cosa definiamo un generatore di numeri casuali: * generatore e' ora un oggetto di tipo TRandom */ TRandom generatore; /* OK, ora dobbiamo definire le variabili di cui abbiamo bisogno */ FILE* f; int i; /* Si apre il file con una normale istruzione in C */ f=fopen("random_exp.dat","w"); for (i=0; i<10000; i++) { fprintf(f," %d %f \n",i,generatore.Gaus(4.,1.)); /* ^^^^^^^^^^^^^^^^^^^^^^ * Il metodo float Gaus(float mean, float sigma) * degli oggetti TRandom restituisce un numero estratto da una distribuzione * gaussiana con valor medio mean e sigma sigma. * Il valore viene scritto sul file, insieme al numero d'ordine. */ } /* E' sempre bene chiudere il file, altrimenti restera' aperto fino a quando non finisce la sessione di ROOT. */ fclose(f); }