# Example field03 History

See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!

-------------------------------------------------------------------------------

## 2024-09-30 Gabriele Cosmo (fieldex03-V11-02-03)
- Use GeometryHasBeenModified() in place of ReinitializeGeometry() in
  DetectorCostruction UI commands implementation, for thread safety.

## 2024-09-25 Gabriele Cosmo (fieldex03-V11-02-02)
- Minor simplification in F03DetectorConstruction() constructor.

## 2024-09-18 Gabriele Cosmo (fieldex03-V11-02-01)
- Migrated to use G4RunManagerFactory.
- Use default MixMax random generator.

## 2024-04-29 Ivana Hrivnacova (fieldex03-V11-02-00)
- Replaced FieldSetup and FieldMessenger classes with usage of new
  field builder class (G4FieldBuilder)
- Moved setting field value (ThreeVector) from FieldSetup (removed)
  in DetectorConstruction and its messenger and removed
  setting Z-value only

## 2023-07-05 Ivana Hrivnacova (fieldex03-V11-01-00)
- Clang-tidy, new coding guidelines
- Clean-up trailing white-spaces

## 2021-12-10 Ben Morgan (fieldex03-V11-00-00)
- Change to new Markdown History format

---

# History entries prior to 11.0

July 27, 2018 I.Hrivnacova - fieldex03-V10-04-02
- Added commands:
   /field/setField  Bx By Bz unit
   /field/setLocalField  Bx By Bz unit
- Fixed geometry (corrected overlaps, parameters handling)
  - Activated checkOverlaps in G4PVPlacements
- Macro review and code clean-up:
  - Removed EventAction, RunAction, RunActionMessenger
    used only for storing random numbers, already available in kernel
  - Separated other than visualization settings from vis.mac in a
    new init_vis.mac
  - Added test for commands defined in the example at the end
    of field02.in macro
  - Improved visualization of geometry
  - Added "beamOn 10" button in gui.mac
  - Updated README files

May 15, 2018 J.Allison - fieldex03-V10-04-01
- Remove G4UI_USE and G4VIS_USE.
- Move instantiation of G4UIExecutive to start of main.
- vis.mac, gui.mac: Clean up.
- F03RunAction.cc: Remove vis commands.

May 09, 2018 B.Morgan - fieldex03-V10-04-00
- Include G4Types before use of G4MULTITHREADED. For forward
  compatibility with move to #defines over -D for G4 preprocessor
  symbols.

Jun   2, 2017 - J.Apostolakis - fieldex03-V10-03-01
- renamed SetStepper() method to CreateSteppers()

May  24, 2017 - J.Apostolakis - fieldex03-V10-03-00
- fixed valgrind issues in field setup's update method: first
    delete all dependent objects, then create new ones.

November 19, 2016 A.Dotti   - fieldex03-V10-02-04
- explicit set of SD to manager

November 02, 2016 L.Garnier - fieldex03-V10-02-03
- remove icons.mac. Automatically include since interfaces-V10-02-07

July 04, 2016 - I. Hrivnacova - fieldex03-V10-02-02
- Fix for Doxygen documentation

July 01, 2016 - I. Hrivnacova - fieldex03-V10-02-01
- Replaced F03PhysicsList with FTFP_BERT with G4StepLimiterPhysics

May 19, 2016 - G.Cosmo - fieldex03-V10-02-00
- Fixed compilation warnings on gcc-6.1 in F03FieldMessenger.

September 01, 2015 - I. Hrivnacova - fieldex03-V10-01-00
- Removed F03EventActionMessenger class, now obsolete, and
  replaced /event/printModulo commands in macros with /run/printProgress
- Code cleanup

December 02, 2013
- More fixes in gui.mac:
  Let execute vis.mac first to make the command in added menus available;
  corrected wireframe parameter

November 29, 2013 - I. Hrivnacova
- Fixed gui.mac (commented out command specific to B2 example)

November 28, 2013 - M.Asai - fieldex03-V09-06-07
- Fix F03PrimaryGeneratorAction to avoid race condition problem.

November 28, 2013 - M.Asai - fieldex03-V09-06-06
- Fix F03PhysicsList to avoid race condition problem.

November 26, 2013 - I.Hrivnacova - fieldex03-V09-06-05
- Fixed ConstructSDandField():
  Moved setting the SD and field manager to logical volume outside the tests
- Do not test (fAbsorberThickness > 0.) in ConstructCalorimeter()
  as setting 0 is not allowed in set command

November 25, 2013 - I.Hrivnacova - fieldex03-V09-06-04
- Put back cleaning volumes and solid stores in ConstructGeometry()

November 22, 2013 - P.Gumplinger - fieldex03-V09-06-03
- add gui.mac back in and removed fWorldChanged

November 21, 2013 - I.Hrivnacova - fieldex03-V09-06-02
- Use new G4RunManager::ReinitializeGeometry to trigger geometry rebuild
  when geometry changes
- Remove DetectorConstruction::Update and corresponding UI command that
  is not needed anymore
- Set "ToBeBroadcasted == false" for UI commands that modify detector
  since these should be executed only by master
- Fixed main (do not call gui.mac which does not exist)
- In F03FieldSetup:
  - Do not declare fLocalFieldManager thread-local
    as the F03FieldSetup is already thread-local object
  - Code clean-up

November 12, 2013 P.Gumplinger - fieldex03-V09-06-01
- migration to MT and code cleanup

July 29, 2013 P.Gumplinger - fieldex03-V09-06-00
- fix MAC/clang32 compilation warnings

February 14, 2013 - I.Hrivnacova
-----------------------------
- Applied coding guidelines (data members initialization);
  tagged in examples/field

October 17, 2012 - I.Hrivnacova - fieldex03-V09-05-00
-----------------------------
- Applied coding guidelines, code clean-up

August 16th, 2010 H.Kurashige - fieldex03-V09-03-04
-----------------------------
- Removed inclusion of G4ParticleWithCuts header.

June 2nd, 2010 J.Perl - fieldex03-V09-03-03
---------------------
- Updated vis usage.

May 12th, 2010 John Allison - fieldex03-V09-03-02
---------------------------
- Introduced G4UIExecutive.

Apr 8th, 2010 Gabriele Cosmo - fieldex03-V09-03-01
----------------------------
- Removed unused pointers to G4MultipleScattering left...

Mar 25th, 2010 Gabriele Cosmo - fieldex03-V09-03-00
-----------------------------
- Migrated physics list to use particle-based multiple-scattering processes.

Nov 4th,  2009  Peter Gumplinger - fieldex03-V09-02-00
--------------------------------
- fix the density of STP Carbon Dioxide in DetectorConstruction

May 23rd, 2007  John Apostolakis  -  fieldex03-V08-03-00
--------------------------------
- Taken out FastSimulationManagerProcess, which is not needed.

Apr 27th, 2007 Peter Gumplinger (fieldex03-V08-02-00)
- Fixed bug in F03FieldSetup:
  fFieldManager = fLocalFieldManager = GetGlobalFieldManager();
  fFieldManager->SetDetectorField(fMagneticField );
  fLocalFieldManager->SetDetectorField(fLocalMagneticField );
  The above is a pointer copy and the two G4FieldManager point
  to the same object; i.e. fLocalMagneticField replaces fMagneticField
  in the GlobalFieldManager. This is not at all the intended functionalty
  supposed to be exhibited by this example!

Dec 6th, 2005  Gabriele Cosmo
-----------------------------
- Trivial changes for support of CLHEP-2.0.X series.

Oct 13th, 2005  Vladimir Grichine  (fieldex03-V07-01-00)
---------------------------------
- Removed cluster models from detector construction.
  Coworks with gpara-V07-01-00.

May 3rd, 2005  John Allison  (examples-V07-00-03)
---------------------------
- Replaced vis manager with G4VisExecutive.

Dec 3rd, 2004 Gabriele Cosmo
----------------------------
- Implemented migration to <cmath>.

Dec 3rd, 2004 Vladimir Grichine
-------------------------------
- Removed dependency on old PAI and XTR models in PhysicsList.

Sep 15rd, 2004 Vladimir Ivanchenko (fieldex03-V06-02-00)
----------------------------------
- Minor cleanup of PhysicsList.

Mar 23rd, 2004 John Apostolakis (fieldex03-V06-00-00)
-------------------------------
- F03FieldSetup: fixed SetFieldValue methods to update equation, fld-manager.
- F03FieldMessenger: added printout of value after Set Command.

Dec  1st, 2003 John Apostolakis (fieldex03-V05-02-00)
-------------------------------
- Renamed F03ElectroMagneticField into F03FieldSetup (as it is a creator,
   not a field).
- FieldSetup is now called only in Detector Construction, not in main.

Nov 25th, 2003 Gabriele Cosmo
-----------------------------
- Open geometry before clearing stores in DetectorConstruction class.

Nov 14th, 2003 John Apostolakis
-------------------------------
- F03ElectroMagneticField:
  o changed minimum step to 0.25 mm, from 1.0 mm.

Nov 13th, 2003 John Allison
---------------------------
- Removed OPACS from Vis Manager.

Aug 27th, 2003 V.Ivantchenko (fieldex-V05-02-00)
------------------------------------------------
 - Remove obsolete interfaces

Jun 25th, 2003 - G.Cosmo (fieldex-V05-01-00)
--------------------------------------------
- Fixed mechanism for update of geometry in detector-construction.
- Corrected GetFieldValue in ElectroMagneticField class. (J.Apostolakis).
- Fixed pedantic warnings ...

Feb 20th, 2003 - V.Ivanchenko (field-V05-00-00)
-------------------------------------------------
- Cut per region

Nov 7th, 2001 - G.Cosmo
-----------------------
- More cleanup and fixes to primary generator gun (V.Grichine).

Oct 15th, 2001 - G.Cosmo
------------------------
- Cleaned from test code.
