Example: ... 1) Example compiles, runs (?) OK, but tested without AIDA. 2) External software documentation (if present) AIDA is used for histogramming, a reference to aida.freehep.org is given, but this site seems in-active, recent news is 2005 and before. 3) Classification of classes List classes specific to demonstrated features: The README says: This example demonstrates a usage of G4PhysListFactory to build Physics List and G4HadronicProcessStore to access cross sections. There is _no_ further help which files to look at for this demonstration. - The use of the physics lists factory is in the main program hadr00.cc, with few comments. - The access to cross sections via G4HadronicProcessStore is in src/HistoManager.cc, HistoManager::EndOfRun(). There is a lack of comments explaining what is done, and why its done this way. In summary, demonstrated features are in hadr00.cc and src/HistoManager.cc, but lack explanation. List of classes which can be replaced with common ones: = DetectorConstruction / DetectorMessenger The geomtry of the example is a simple cylinder in the World volume. The messenger allows to change dimensions materials via UI commands /testhadr/... The messenger also to set parameters for the cross section to be printed or plotted, i.e. for the HistoManager: particle, number of bins, energy and momentum range, particle, element. The geometry could be generic, and setting the parameters for cross section printing could be moved to another (new) messenger class specific to this example. = EventAction / EventActionMessenger Can be replaced by generic class; this implementation allows to "debug" a specific event, saving the initial random number status for this event, and setting "/tracking/verbose 2". The messenger extends the example specific commands by commands to set the events to debug ( see EventAction, and an option wich kind of tracks to draw ( charged/neutral/all) Both classes could be generic. = Histo / HistoManager Histo manages histrograms via methods book(), fill(), save(), etc.... HistoManager creates and fills histograms with cross section data = HistoMessenger The messenger adds more examples specific commands, /testhadr/.., Some commands seem to overlap DetectorMessenger, e.g. Number of bins = PrimaryGeneratorAction Using G4ParticleGun, no option to change particle, energy,... = RunAction Message HistoManager for begin/end of run. 4) Messenger classes List commands defined in this example: Three classes define commands: DetectorMessenger: /testhadr/TargetMat /testhadr/WorldMat /testhadr/TargetRadius /testhadr/TargetLength /testhadr/nBinsE /testhadr/nBinsP /testhadr/update /testhadr/particle /testhadr/targetElm /testhadr/minEnergy /testhadr/maxEnergy /testhadr/minMomentum /testhadr/maxMomentum /testhadr/verbose EventActionMessenger: /testhadr/PrintModulo /testhadr/DebugEvent HistoMessenger: /testhadr/histo/fileName /testhadr/histo/fileType List commands which do not work as expected: a) not at all None b) in some G4 phase(s) None 5) Code review: Report on obsolete code (if present): Report on inefficient code (if present): Your recommendations to example owner: ... 6) Documentation review: Your recommendations to example owner: 7) Comment on the adequacy in its physics domain (skip this item if you are not an expert in physics demonstrated in the example): The example is very useful in that it allows to extract hadronic cross sections as used by a given physics list, and provide plots for this. 8) "Users questions to be addressed in examples" List questions which can be naturally addressed in this example: Hadronic cross sections in given physics list.