jour3e
1.0
Une navette spatiale est modelisee par un cylindre d'Aluminium. A l'interieur de la cabine se trouve un plancher, egalement en Aluminium. La navette est placée dans l'espace ('World') : une boite aussi petite que possible.
Un (mini)astronaute est placé sur le plancher.
- compiler et generer un executable :
- executer jour3e en mode interactif avec visualisation :
% $G4WORKDIR/bin/$G4SYSTEM/jour3e
....
Idle> /run/beamOn 1
....
Idle> exit
- executer jour3e en mode batch avec une macro :
% $G4WORKDIR/bin/$G4SYSTEM/jour3e run1.mac
Il s'agit de creer et de remplir des histogrammes via l'interface
AIDA. Il faut :
- tache 1 : creer ou ouvrir un fichier d'histogrammes
- tache 2 : definir les histogrammes
- tache 3 : remplir ces histogrammes avec les variables que l'on veut etudier
- tache 4 : fermer le fichier et l'ecrire sur disque
Les taches 1-2 sont a effectuer une seule fois, en debut d'execution du job ou en debut de run. La tache 4 est aussi a effectuer une seule fois, en fin de run ou en fin d'execution du job. La tache 3 se fait autant de fois que necessaire en cours de run, evenement, trace, step ...
On veut histogrammer l'energie totale recue par l'astronaute, par particule incidente. Le code est deja implementé dans jour3e et sera expliqué en sceance. Remarquer le flag de compilation G4ANALYSIS_USE.
- taches 1-2 : voir RunAction::BookHistoFile(). Noter:
- choix du format d'ecriture (root ou hbook)
- definition de l'histogramme en histo[0]
- quand ces fonctions sont-elles appelées ?
- tache 3 : l'energie recue est calculée dans EventAction::EndOfEventAction(). Voir comment on remplit un histogramme avec cette information. Quelle est la signification des 2 arguments de la fonction fill() ?
- activer le flag G4ANALYSIS_USE dans GNUmakefile
- compiler
- executer en mode batch avec la macro run1.mac le programme produit un fichier histograms.root (ou .hbook)
- lancer ROOT (ou PAW) et executer le script plotHisto.C (ou .kumac)
On veut histogrammer le profile longitudinal de l'energie totale recue par l'astronaute au cours d'un run : Erun = f(zlocal) (information similaire a celle contenue dans le tableau depthDose.ascii)
- quel type d'histogramme faut-il definir ?
- ajouter ce second histogramme dans BookHistoFile(), en histo[1]
- remplir l'histogramme dans SteppingAction::UserSteppingAction()
- compiler et executer jour3e
- completer le script plotHisto.C pour analyser le fichier histograms.root