jour4b1
1.0
Cet exercice est decoupe en trois petits exercices :
- ->> jour4a --> jour4b1 : implementation d'un sensitive detector pour collecter les depots d'energies dans les tranches, ces depots etant sommes dans un tableau du RunAction.
- jour4b2 --> jour4b3 : implementation d'un format de hit, d'une collection de hits et relecture de ces hits dans EventAction, avec a nouveau sommation dans un tableau du RunAction.
- jour4b4 --> jour4b5 : utilisation de "scorers" pour collecter des hits.
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 :
- les prints n'apparaissent que lors des steps effectues dans le volume 'Astronaut'.
- la difference par rapport au SteppingAction est que les appels a ProcessHits ne se font que pour les steps effectues dans le volume 'Astronaut' et pas a chaque step.
- '/AstronauSD' correspond au nom donne au SensitiveDetector dans le DetectorConstruction. Le '/' en debut de nom est ajoute par le kernel, afin de permettre une organisation en 'structure de directory' en cas de multiple sensitive detectors.
- Pour s'assurer que le code du sensitive est bien desactive dans le cas present, il suffit de faire tourner des evenements en '/stepping/verbose 1' et de voir, que les prints de ProcessHits(...) n'apparaissent plus lorsque les steps se deroulent dans le volume 'Astronaut'.
- Pour le corrige du code de SensitiveDetector::ProcessHits, voir le code de jour4b1.
- Le fait que les sorties 'depthDose.ascii' et 'depthDoseSD.ascii' different est du a l'utilisation de nombres aleatoires lors du calcul de positionnement des doses. Les doses doivent par contre rester statistiquement compatibles (exercice interessant a faire, mais pas propose ici).