$Id: History,v 1.123 2008/12/01 09:45:42 gcosmo Exp $
--------------------------------------------------

     =========================================================
     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
     =========================================================

                    Example N03 History file
                    ------------------------
This file should be used by the G4 example coordinator to briefly
summarize all major modifications introduced in the code and keep
track of all tags.

     ----------------------------------------------------------
     * Reverse chronological order (last date on top), please *
     ----------------------------------------------------------

24-11-08 Laurent Garnier (exampleN03-V09-01-05)
- Removed unnecessary inclusion of qapplication.h in main().
- Added Qt setup to vis macros.

31-10-08 mma (exampleN03-V09-01-04)
- Use G4hMultipleScattering for muons and protons
     
26-10-08 mma (exampleN03-V09-01-03)
- Update PhysicsList for proton and ions
     
07-05-08 J.Allison (exampleN03-V09-01-02)
- Protected "/control/execute vis.mac" with G4VIS_USE flag.
     
10-04-08 mma (exampleN03-V09-01-01)
- PhysicsList : replace G4MultipleScattering by G4eMultipleScattering
- update README
     
17-01-08 mma (exampleN03-V09-01-00)
- exampleN03.cc : make viManager available in batch mode
     
16-11-07 Laurent Garnier (exampleN03-V09-00-01)
- exampleN03 : Adding Qt render possibility
- visTutor/gui.mac : Adding menu for Qt render
- visTutor/exN03Vis14.mac,visTutor/exN03Vis15.mac : Adding file menu for
  Qt render

02-07-07 V.Ivant (exampleN03-V09-00-00)
- make destructors virtual, cleanup

25-06-07 mma (exampleN03-V08-03-02)
- simplifications in exampleN03.cc
     
13-06-07 mma (exampleN03-V08-03-01)
- more verbose in rndmSeed.mac
     
21-05-07 John Allison (exampleN03-V08-03-00)
- Changed visTutor/exN03Vis12.loop and 13: follows change to /vis/ogl/printEPS.

26-10-06 John Allison (exampleN03-V08-01-04)
- Migrate to new trajectory modeling commands:
  o vis.mac: Add new trajectory commands and helpful comments.
  o ExN03EventActionMessenger: Remove /N03/event/drawTracks.
  o ExN03EventAction: Remove SetDrawFlag and code for drawing
    trajectories in EndOfEventAction.
  o ExN03TrackingAction: Remove.  (Trajectory choice now available
    by vis commands - see exN03Vis12.mac and exN03Vis13.mac.)
  o exN03Vis12.mac and exN03Vis13.mac: Further refinement.

19-09-06 John Allison (exampleN03-V08-01-03)
- exN03Vis12.mac and exN03Vis13.mac: Further refinement.

12-09-06 John Allison (exampleN03-V08-01-02)
- exN03Vis12.mac and exN03Vis13.mac: Switched off local trajectory
  drawing (/N03/event/drawTracks none) so as not to interfere with
  drawing from /vis/scene/add/trajectories.

31-08-06 mma
- Code tidy.

30-08-06 John Allison (exampleN03-V08-01-01)
- Improved visTutor/exN03Vis12.mac.
- Added visTutor/exN03Vis13.mac: Further demonstration of time slicing.

16-08-06 John Allison (exampleN03-V08-01-00)
- Added ExN03TrackingAction.  Active code is commented out so it
  continues to use G4Trajectory.  Introduced so that the code can
  easily be instated to get G4RichTrajectory for exN03Vis12.mac.
- Added visTutor/exN03Vis12.mac: demonstration of time slicing.

16-06-06 Gabriele Cosmo (exampleN03-V08-00-06)
- Use coherent allocation scheme for user-classes and
  initialisation in main().

15-06-06 Gabriele Cosmo (exampleN03-V08-00-05)
- Separate instantiation of the user-stepping-verbose class from
  initialisation of the G4VSteppingVerbose singleton.

06-06-06 mma (exampleN03-V08-00-04)
- gui.mac : /N03/event/printModulo
     
02-06-06 mma (exampleN03-V08-00-03)
- stepping action: replace Touchable by TouchableHandle
     
29-05-06 mma (exampleN03-V08-00-02)
- stepping action: prePoint->GetTouchable()->GetVolume()
     
24-05-06 mma (exampleN03-V08-00-01)
- cosmetic in stepping action

23-05-06 Vladimir Ivanchenko (exampleN03-V08-00-00)
- use PrePoint in stepping action
     
06-12-05 Gabriele Cosmo
- Trivial changes for support of CLHEP-2.0.X series.

03-12-05 John Allison (exampleN03-V07-01-04)
- Quietened vis manager in batch mode.

22-11-05 mma (exampleN03-V07-01-03)
 - Update README
      
14-11-05 mma (exampleN03-V07-01-02)
 - DetectorConstruction: correct definition of Vacuum
      
15-10-05 mma (exampleN03-V07-01-01)
 - PhysicsList: AddProcess(new G4eBremsstrahlung,-1,3,3) ..etc..
     
22-07-05 mma (exampleN03-V07-01-00)
- RunAction: compute and print statistic at end of run. 
    
31-05-05 mma (exampleN03-V07-00-03)
- EventAction: decrease size of trajectory points.

30-05-05 John Allison  (exampleN03-V07-00-02)
- Completed replacment of vis manager with G4VisExecutive.

26-05-05 Gabriele Cosmo  (exampleN03-V07-00-01)
- Fixed compilation error in exampleN03.cc (no tracking-action existing...).

03-05-05 John Allison  (examples-V07-00-03)
- Replaced vis manager with G4VisExecutive.

02-02-05 Michel Maire (exampleN03-V07-00-00)
- SteppingAction: sum stepLenght of charged particle even if edep=0.
     
21-11-04 Guy Barrand
- visTutor/exN03Vis[5,10].mac : reverse notifyHandler and viewer/update
  so that someone using G4UIterminal see the detector at the moment
  of the /vis/viewer/update.
  Have /control/verbose 2 to dump viewer controls.

18-11-04 Guy Barrand
- visTutor/gui.mac : have a Viewer pulldown menu.

15-11-04 Guy Barrand (exampleN03-V06-02-00)
- visTutor/exN03Vis[5,10].mac : have commented examples
  on how to request the visualization of a particular volume.
- visTutor/exN03Vis9.mac : WIN32 : having something with only
  OGLIWin32 in order to test that geometry and trajectories work.

14-11-04 Guy Barrand
- ExN03DetectorConstruction.cc : in commented vis attributes ; 
  have transparency = 0.6 for the logicGap.

12-11-04 Guy Barrand
- exN03Vis[5,10.mac] : correct comments "an volume" -> "a volume".

11-11-04 Guy Barrand
- ExN03DetectorConstruction.cc : add commented vis attributes
  in order that someone can test / play with the interactive  
  expansion / contraction geometry system of the vis/OpenInventor driver.
- gui.mac : gun pulldown menu.
- exN03Vis[5,10.mac] : rm an unnecessary update and bad comments.

08-04-04 Guy Barrand (exampleN03-V06-01-00)
- exampleN03.cc : Windows : Have G4UI_USE_WIN32 in order to have 
  a default Windows GUI coworking with the OpenGL Windows driver.
- exN03Vis9.mac : demo of the OpenGL Windows driver.
- gui.mac : change menu items in order to reflect the used vis driver.
  
19-03-04 M.Maire (exampleN03-V06-00-00)
- ExN03PhysicsList: cleanup of include.
  
01-12-03 J.Perl (exampleN03-V05-02-08)
- Removed extraneous flushes from visTutor/heprep.mac to match new
  endOfRunAction behavior.
- Cleaned up vis.mac.
- Cleaned up vis part of README.

27-11-03 G.Cosmo (exampleN03-V05-02-07)
- Removed OPACS script from visTutor. renamed scripts 6/7/8/9 to
  5/6/7/8 respectively. Added scripts to gui.mac.

25-11-03 G.Cosmo (exampleN03-V05-02-06)
- Open the geometry before cleaning stores in ConstructCalorimeter().

12-11-03 J.Allison (exampleN03-V05-02-05)
- ExN03EventAction: changed drawing mode from 2000 to 1000.

06-11-03 J.Allison (exampleN03-V05-02-04)
- ExN03RunAction: removed ApplyCommand("/vis/...") statements.

06-11-03 J.Allison (exampleN03-V05-02-03)
- ExN03EventAction:
  o changed to use G4VVisManager::Draw(const G4VTrajectory&, G4int draw_mode).
  o increased drawing mode from 50 to 2000.

06-11-03 J.Allison (exampleN03-V05-02-02)
- Removed OPACS from ExN03VisManager.

24-10-03 mma (exampleN03-V05-02-01)
- PhysicsList: AddProcess(Bremsstrahlung,-1,3,3) ..etc..

15-09-03 mma (exampleN03-V05-02-00) 
- suppresion of sensitive detector and hits.
- DetectorConstruction::DefineMaterials() invoked in constructor. 
  The UI commands /N03/det work in preInit state as well in Idle.
- suppression of specific code for curvated trajectories.
       
10-06-03 mma (exampleN03-V05-01-02)
- mv heprep.mac in visTutor
- back to eventAction.cc 1.17

28-05-03 G.Cosmo (exampleN03-V05-01-01)
- Get rid of pedantic warnings ...

21-05-03 V.Ivant (exampleN03-V05-01-00)
- ExN03DetectorConstruction: properly delete volumes and solids
  when geometry setup is updated.

08-04-03  mma (exampleN03-V05-00-06)
- DefineMaterials: H2O->SetMeanExcitationEnergy(75*eV)
     
25-03-03  mma (exampleN03-V05-00-05)
- Use G4PVPlacement and G4PVReplica constructors in logical mother.
 
20-02-03 V.Ivant (exampleN03-V05-00-04)
- Migrade to cut per region

11-02-03 mma (exampleN03-V05-00-03)
- DetectorConstruction : change names of volumes

30-01-03 mma (exampleN03-V05-00-02)
- save random number seed. In README explain the rndm handling.
  commit rndmSeed.mac to show how to save and reset rndm seed
      
18-12-02 mma (exampleN03-V05-00-01)
- code for smooth trajectory put in DetectorContruction::SetMagField()
  and TrackingAction::PreUserTrackingAction()
     
16-12-02 mma (exampleN03-V05-00-00)
- UI directory /N03/

19-11-02 jacek
- introducing smooth trajectory display

25-06-02 ribon (exampleN03-V04-00-02)
- fixed paths to macros in visTutor/gui.mac.  
     
07-03-02 mma (exampleN03-V04-00-01)
- remove cutForGamma, cutForElectron ..etc..
     
14-02-02 mma (exampleN03-V04-00-00)
- macros for em exercices
     
27-11-01 mma (exampleN03-V03-02-07)
- DetectorConstruction: Vacuum is the default material.
- newgeom.mac: a box of 40 cm of water.

19-11-01 John (exampleN03-V03-02-06)
- Updated ExN03VisManager.cc for new graphics systems and defaults.

14-11-01 Satoshi Tanaka (exampleN03-V03-02-05)
- exN03Vis8.mac : Batch visualization with the DAWNFILE driver
- exN03Vis9.mac : Multi-page PostScript file generation (old exN03Vis8.mac)

07-11-01 Satoshi (exampleN03-V03-02-04a)
- /vis/viewer/viewpointThetaPhi ==> /vis/viewer/set/viewpointThetaPhi

07-11-01 Satoshi (exampleN03-V03-02-04)
- visTutor/exN03VisXX.mac's are rewritten with /vis/viewer/flush.
- Some refinements of command sequences and comments.
- Note that /vis/flushAll's are described but commented out. 

07-11-01 Satoshi (exampleN03-V03-02-03)
- vis.mac: /vis/viewer/refresh + /vis/viewer/update is replaced 
  with their equivalent command /vis/viewer/flush.
     
24-10-01 mma (exampleN03-V03-02-02)
- initInter.mac renamed vis.mac : OpenGL and DAWNFILE opened simultaneously. 
     
19-10-01 Steve O'Neale (examples-V03-02-00)
- Update reference output

10-10-01 mma (exampleN03-V03-02-01)
- /vis/scene/endOfEventAction accumulate
  /vis/viewer/zoom (in newgeom.mac)
- 80 columns everywhere

18-09-01 Satoshi Tanaka (exampleN03-V03-02-00)
- Updation for automatic visualization at Hebden Bridge mini-workshop.
- /vis/viewer/flush and /vis/flushAll are not included yet.
  (To be included in the next tag.) 
- /vis/drawTree may still require /vis/scene/notifyHandlers.
  (John Allison will revise the /vis/drawTree command soon.)

21-06-01 Satoshi Tanaka (exampleN03-V03-00-02)
- visTutor/*.mac updated
- Commands /vis/set/XXX's are replaced with /vis/viewer/set/XXX
- Commands /vis/camera/XXX's are replaced with /vis/viewer/XXX
  except for /vis/camera/spin.
- exN03Tree0.mac for ASCII DTREE and exN03Tree1.mac for GAG DTREE
  are created.
 

06-02-01 M.Asai (exampleN03-V03-00-01)
- Migration to STL vector classes
 affected : ExN03SteppingVerbose.cc

4th February 2001 Steve O'Neale (tagset254)

21-11-27, Satoshi Tanake (exampleN03-V02-00-04)
- The macro initInter.mac (by Michel) is revised.
  1) The command "/vis/scene/create" is removed, 
     since it is already included in "/vis/drawVolume".
  2) /vis/viewer/update is added, since it becomes necessary 
     when the OpenGL driver is switched to another driver.
- In visTutor/exN03Vis5,6.mac (by Guy) 
   "/vis/include/trajectories" is renamed into 
   "/vis/scene/add/trajectories" and also commented out. 
  (All other "/vis/scene/add/trajectories"'s are already commented out 
   by Michel, since the C++ method DrawTrajectory() is now described 
   in the event action.
- Unnecessary "/vis/scene/create" are removed from 
  visTutor/exN03VisX.mac when it is already included in 
  "/vis/drawVolume" or "/vis/specify". 
- The command /vis/camera/viewpoint is removed from visTutor/exN03Vis0.mac
  in order to avoid crushing in reading it in execution of 
  the G4 executable: $(G4BINDIR)/exampleN03 exN03Vis0.mac .
- Comments updated in visTutor/exN03VisX.mac.


25th November 2000 Steve O'Neale (tagset210)
- Update test outputs for min.delta energy cut
- Update test outputs for energy cut table only for e- and gamma
- Update test outputs for new tags in em processes.
  Note we skip round work in progress
     
21-11-00, mma (exampleN03-V02-00-02)
- introduce G4UItcsh in exampleN03.cc
- put all vis macros in a new subdirectory visTutor
- prerunN03 simplified (compound vis commands) and renamed initInter.mac
- code to control the drawing of tracks reinstalled in eventAction
- bug corrected in PhysicsList::GetCutForProton()
- PrimaryGenerator : default particle e- 50 MeV 

October 19, 2000  Satoshi Tanaka  (exampleN03-V02-00-01)
- Updated exN03Vis0-4.mac, incorporating recent development 
  of vis commands
- Updated format of comments in exN03Vis0-4.mac.
- Created exN03Vis7.mac: demo of the VRMLFILE driver
- Created exN03Vis8.mac: demo of multi-page PS file generation

June 24, 2000  John Allison  (exampleN03-V01-01-09)
- Updated exampleN03.out for stand-V01-01-05 and utils-V01-01-03.

June 17, 2000  John Allison  (exampleN03-V01-01-08)
- Updated exampleN03.out for geant4-01-01-ref-06.

14 June 2000 John Allison (exampleN03-V01-01-07)
- Added #ifdef G4UI_USE_XM to protect #include "G4UIXm.hh" in exampleN03.cc.
- Limit output in gui.mac (Guy Barrand).

13 June 2000 Guy Barrand (exampleN03-V01-01-06)
- exampleN03.cc, prerunN03.mac : 
  put execution of the gui.mac in exampleN03.cc
  with an #ifdef G4UI_USE_XM protection and
  remove it from preunN03.mac. This will gurantee
  no effect of the gui.mac on other G4UI sessions.
- g4Xt.xrm : add a resource to limit contant
  of XmText widgets (in particular the one used
  to dump G4cout things).
- exaN03Vis5.6.mac : remove commands that are
  in fact not supported by Xo and Invnetor
  drivers.

09 June 2000 Satoshi Tanaka (exampleN03-V01-01-05) :
- In  prerunN03, 
  < /vis/scene/include/trajectories
  ---
  > /vis/scene/add/trajectories                                                  
09 June 2000 Guy Barrand (exampleN03-V01-01-04) :
- correct some comments in exN03Vis5,6.mac.
- add gui.mac.
- trigger execution of gui.mac at end of prerunN03.mac.

09 June 2000 Guy Barrand (exampleN03-V01-01-02) :
- add exN03Vis4,5.mac for a simple example
  of OPACS/Xo and Inventor driver.

09th June 2000 Satoshi Tanaka  (exampleN03-V01-01-01)
- exNO3VisX.mac's are updated corresponding to recent 
  development of the new vis commands:  
  (1) Compound commands are used wherever possible.
  (2) Ordering of commands and comments are rewritten 
      to improve readability.
  (3) exN03Vis4.mac is created to demonstrate 
      the compound command  "/vis/specify". 

05-06-00 M.Maire
- cleanup of ExN03EventAction to limit the amount of output with
  exampleN03.large_N.in
  
20th May 2000 Satoshi Tanaka 
- exNO3VisX.mac's are updated corresponding to development 
  of the new vis commands.
- The command /vis/add/trajectories is added to exNO3VisX.mac's.
  Instead the C++ method "DrawTrajectory()" is removed from 
  ExN03EventAction::EndOfEventAction(). 

19th May 2000 Satoshi Tanaka 
- g4.xrm (Xt resource file for UI) is renamed to g4Xt.xrm

11th May 2000 Satoshi Tanaka (examples-V01-01-03)
- Comments  in examples/novice/N03/exN03VisX.mac 's are
  updated for DAWN Version 3.85a
- Small changes to comments in SteppingVerbose.

25-02-00 H.Kurashige
- removed RhoZeroDefinition from PhysicsList 

10th November 1999  Satoshi Tanaka (examples-V00-01-12)
- novice/N03 is updated
- Vis macros for N03 are updated for the latest updation of vis commands
  (Introduction of /vis/viewer/update etc)                                     

09-11-99 Satoshi Tanaka (examples-V00-01-11)
  prerunN03.mac        : /vis/viewer/update  is appended
  src/ExN03RunAction.cc: /vis/scene/notifyHandlers  is in BeginOfRunAction()
                         /vis/viewer/update  is in EndOfRunAction()

14-08-99 Satoshi Tanaka
  TAG: examples-V00-01-02
  Visualization tutorial macros are committed.
  (exN03Vis0.mac,..., exN03Vis3.mac)
     
19-08-99 Michel Maire
- modify ExN03PhysicsList to keep the command setCut compatible
  with cutForGamma ..etc ..
       
31-05-99 Guy Barrand, Michel Maire
- introduce a command interface based on Motif: G4UIXm   
     
16th April 1999 H.Kurashige
- modify ExN03SteppingAction::UserSteppingAction
- modify ExN03EventAction
- modify ExN03RunAction::BeginOfRunAction/EndOfRunAction
- Add  cutForGamma/cutForElectron/cutForProton in ExN03PhysicsList
- modify ExN03PhysicsList::SetCuts
     
10-03-99 Michel Maire
- Choose RaneCu as the default random number generator.
- print the seed event%n
     
 9-10-98 John Apostolakis
- This used to be example N02.  It is now N03.

25-02-98 Michel Maire
- add a macro 'newgeom.mac' which gives an example of
  interactive redefinition of the geometry
       
11-09-98 Michel Maire
- removed the function SetEmProcess() ( contained cin) 
  and the class ExN02PhysicsListMessenger
  
27-08-98  John Allison
- Removed /vis~/camera/zoom 3 - coworks with vis-00-02-05.

12-08-98  Michel Maire
- Changed all the class name:N02 -> ExN02. 
    
 9-08-98  John Allison
- Changed G4UIterminal to G4UIGAG.

20-07-98  Michel Maire
storeTrajectory command move to prerun.mac     

16-07-98  John Allison
- Changed /vis~/Draw... to /vis~/draw.

 9-07-98  John Allison
- Added G4VIS_USE_DAWNFILE and G4VIS_USE_OPENGLWIN32 to N02VisManager.cc.

8th July 1998  G.Cosmo
- Protected visualization code with G4VIS_USE.

6th July 1998  John Allison
- Simplified N02VisManager.

16th June 1998  Michel Maire
- Added G4_SOLVE_VIS_TEMPLATES to exampleN02.cc

10th June 1998  John Allison
- Added template instantiation requests to exampleN02.cc for GNU_GCC.

April 09, 98 G. Cosmo

- Created.
