jour4a

1.0

Cet exercice est decoupe en trois petits exercices :

GEOMETRIE

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.

COMMENT DEMARRER ?

EXERCICES

But

On utilise un 'G4VSensitiveDetector' pour calculer le meme profil longitudinal que dans les exercices precedents. Dans ces exercices, le code permettant d'extraire les energies deposees etait place dans le 'SteppingAction'. Nous allons ici 'transplanter' ce code dans la classe 'SensitiveDetector', qui herite de la classe de base 'G4VSensitiveDetector'.

Pour faciliter la comparaison entre le profil de dose ecrit depuis le SteppingAction et le SensitiveDetector, un fichier ascii 'depthDoseSD.ascii', similaire a 'depthDose.ascii' est ecrit en fin de run. Pour ce faire, le RunAction est dans cet exemple equipe d'un tableau 'stdvector<G4double> m_depthDoseSD;' similaire au 'stdvector<G4double> m_depthDose;', et qui peut etre ecrit avec la methode 'SumDepthDoseSD(G4double, G4double)'.

Question 1

Examiner la classe SensitiveDetector, et sa methode ProcessHits. Dans le DetectorConstruction, un objet SensitiveDetector est attache au volume logique 'logicAstronaut'. Identifier la facon dont cela se fait.

La macro 'vis.mac' positionne /tracking/verbose 1. Executer jour4a en mode interactif avec visualisation :

	% $G4WORKDIR/bin/$G4SYSTEM/jour4a

La methode ProcessHits imprime a l'ecran le numero de step plus un commentaire chaque fois qu'elle est appelee. A quels moments apparaissent ces prints ? Quelle difference par rapport au SteppingAction ?

Question 2

Une nouvelle serie de commandes apparait dans le menu 'help'. Laquelle ?

Essayer des commandes comme:

       % /hits/list
         ->> a quoi correspond le nom affiche ?

       % /hits/inactivate astronautSD
       % /hits/list
         ->> le SensitiveDetector est inactive.
         Comment s'assurer que c'est bien le cas ?

       % /hits/activate astronautSD
       % /hits/list
         ->> le SensitiveDetector est re-active.
         S'assurer que c'est bien le cas.

Question 3

Dans SensitiveDetector::ProcessHits(...) implementer le calcul de dose de facon similaire a ce qui a ete fait dans le SteppingAction (le code du SteppingAction est rappele en commentaire dans ProcessHits).

Utiliser RunAction::SumDepthDoseSD(zLocal,edep) pour ecrire dans le vecteur prevu a cet effet dans le RunAction.

Processer une statistique raisonnable. Comparer les sorties 'depthDose.ascii' et 'depthDoseSD.ascii'. Ces sorties sont elles similaires ? Pourquoi ne sont elles pas strictement identiques ?

CORRIGE : voir jour4b1


Generated on Fri Nov 21 10:20:49 2008 for jour4a by  doxygen 1.5.7.1