# Category intercoms 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!

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

## 2025-04-11 Makoto Asai (intercoms-V11-03-00)
- G4UImanager, G4UIcontrolMessenger
  - Introducing "@@" keyword that can be placed in any UI command that takes
    a macro file name. It creates a temporal macro file with following commands
    until /control/endRecord command comes. This “@@” mechanism works recursively.
  - If a file name is enclosed in a pair of "@", that macro file is created.
  - This mechanism works for both interactive mode and batch mode. When used in
    interactive mode with Qt GUI, you can use up-arrow, tab-key and clickable
     menu in left-side bar to complement a command.

## 2024-07-29 John Allison (intercoms-V11-02-07)
- G4UImanager::ApplyCommand:
  - Replace `isMaster` by `G4Threading::IsMasterThread()`.
    - This controls highlighting of echoed commands in the Qt GUI.
    - This was a misunderstanding. I thought `isMaster` referred to the thread.
      It looks like it refers to a type of run manager. Luckily for MT mode,
      `isMaster` is true, but for Serial mode, it is false, so highlighting did
      not work for Serial mode. This was an oversight on my part - I should have
      tested Serial mode when I introduced highlighting in January and February
      2020 (intercoms-V10-07-01 and 2).

## 2024-07-16 Gabriele Cosmo (intercoms-V11-02-06)
- More fixes for Coverity defects.

## 2024-07-15 Gabriele Cosmo (intercoms-V11-02-05)
- Fixed reported Coverity defects, use consistently 'const G4String&' to
  avoid implicit copy.

## 2024-05-18 Makoto Asai (intercoms-V11-02-04)
- G4GenericMessenger.cc : Further addressing to Bug Report #2606

## 2024-05-17 Ben Morgan (intercoms-V11-02-03)
- Unify range checking implementation in G4UIparameter/command.
  - Pure refactor to remove code duplication and complexity
    of user-facing classes.

## 2024-05-09 Ben Morgan (intercoms-V11-02-02)
- Move tests to tests/ctests_source

## 2024-05-03 Ben Morgan (intercoms-V11-02-01)
- Remove use of no longer supported TiMemory.

## 2024-04-24 Makoto Asai (intercoms-V11-02-00)
- G4UIparsing.hh : checking int or long int parameter value is withing the 
  range of G4int or G4long
- G4GenericMessenger.cc : Addressing to Bug Report #2606

## 2023-10-16 Makoto Asai (intercoms-V11-01-08)
- Add G4UImessenger::LtoS().
  - Missed when StoL() was introduced.

## 2023-08-11 John Allison (intercoms-V11-01-07)
- Add G4UImanager::GetBaseSession().
  -  Find base session in a hierarchy of sessions.

## 2023-07-20 Ben Morgan (intercoms-V11-01-06)
- Make range check setup consistent between parameters/commands

## 2023-05-03 Gabriele Cosmo (intercoms-V11-01-05)
- Fixed compilation warning on gcc-13.1 for array subscript outside array
  bounds in G4ProfilerMessenger::SetNewValue().

## 2023-03-31 Ben Morgan (intercoms-V11-01-04)
- Factor G4UIcommand/parameter range validation functions to reduce code duplication

## 2023-03-24 Ben Morgan (intercoms-V11-01-03)
- Apply clang-tidy and format fixes plus normal ordering of docstrings/access specifications.
- Move clear implementation detail classes to private headers.

## 2023-01-09 Ben Morgan (intercoms-V11-01-02)
- Implement ReceiveG4debug for G4UIsession et al.

## 2022-12-14 Ben Morgan (intercoms-V11-01-01)
- Replace direct access to G4cout/etc stream buffers with call to G4coutDestination
  installer function.

## 2022-12-12 Ben Morgan (intercoms-V11-01-00)
- Remove obsolete GNUmakefile scripts

## 2022-11-18 Gabriele Cosmo (intercoms-V11-00-06)
- More compilation warnings fixes for implicit type conversions.

## 2022-11-17 Gabriele Cosmo (intercoms-V11-00-05)
- Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.

## 2022-09-23 Ben Morgan (intercoms-V11-00-04)
- Always expand path argument to ExecuteMacroFile using FindMacroPath
  - Patch from [GitHub PR 40](https://github.com/Geant4/geant4/pull/40)

## 2022-02-27 Ben Morgan (intercoms-V11-00-03)
- Apply set of clang-tidy modernize, readability and performance fixes

## 2022-01-28 Ben Morgan (intercoms-V11-00-02)
- Replace `geant4_global_library_target` with direct file inclusion and
  call to `geant4_add_category` to define library build from source modules.
- Make DLL export symbol a CMake module-level compile definition to aid
  future modularization

## 2021-12-14 Makoto Asai (intercoms-V11-00-01)
- Check and set proper argument types for each individual argument when
  G4GenericMessenger::DeclareMethod() is used. Addressing to the Bugzilla
  report #2420.

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

---

# History entries prior to 11.0

26 October, 2021  M. Asai (intercoms-V10-07-14)
- G4UIcommandTree, G4UIdirectory, G4GenericMessenger
 - Improve output HTML file layout (L.Garnier)
 - Add option to sort command/directory names in alphabetic order (J.Allison)

25 October, 2021 B.Morgan (intercoms-V10-07-13)
- Use G4StrUtil functions replacing deprecated G4String member functions

18 October, 2021 B.Morgan (intercoms-V10-07-12)
- Use std::string member functions from G4String in place of synonyms

1 October, 2021  B. Morgan (intercoms-V10-07-11)
- Use new std::string compliant G4String interfaces

30 August, 2021  J. Allison (intercoms-V10-07-10)
- G4UIparameter::CandidateCheck :
   When candidate not found, print list of candidates.
  
11 July, 2021  M. Asai (intercoms-V10-07-08, -09)
- G4GenericMessenger :
   Adding G4ThreeVector type without unit to DeclareProperty().
   Removing unnecessary duplications of G4UIdirectory objects.
.
06 July, 2021  M. Asai (intercoms-V10-07-07)
- G4UImanager : adding access methods to individual UI command.
  G4UIcommand : adding command-type identiifier.

30 June, 2021  M. Asai (intercoms-V10-07-06)
- G4UIcontrolMessenger : protect some control commands not to be
  broadcasted to worker threads.

06 May, 2021  G. Cosmo (intercoms-V10-07-05)
- Fixed shadowing compilation warning in G4UImanager reported with gcc-11.

12 April, 2021  G. Cosmo (intercoms-V10-07-04)
- Fixed leak in G4ProfilerMessenger.

12 March 2021 Ben Morgan (intercoms-V10-07-03)
- Modernize CMake build

10 February 2020  John Allison (intercoms-V10-07-02)
- G4UImanager:
  o Set LastCommandOutputTreated=false only for master thread.
    Avoids inadvertent "highlighting" in G4UIQt on worker threads.

16 January 2020  John Allison (intercoms-V10-07-01)
- G4UImanager:
  o Introduce flag and access functions for LastCommandOutputTreated.
  o This flag is set to false at the point in ApplyCommand where, if
    verbosity>0, the command is sent G4cout.
  o The treating UI must reset to true when the line has been treated.
  o Of course, the UI may simply ignore it.

12 November, 2020  J. Madsen (intercoms-V10-06-06)
- Added G4ProfilerMessenger.
- See examples/extended/parallel/ThreadsafeScorers/run.mac for example usage

30 September, 2020  M. Asai (intercoms-V10-06-05)
- Adding a new parameter type 'L' for long int type.
- Adding parameter range check for long int.
- Introduing G4UIcmdWithALongInt command type.

29 September, 2020  A. Zaborowska (intercoms-V10-06-04)
- Add StoL method for parsing string to long int.

25 August, 2020  G. Cosmo (intercoms-V10-06-03)
- Revision for c++11 constructs, code cleanup and formatting.
- Fixed Coverity defect for uninitialised data in G4UImanager.

18 May, 2020  G. Cosmo (intercoms-V10-06-02)
- Removed unnecessary use of deprecated G4USE_STD11 flag in G4AnyMethod.
  Also indicated in GitHub PR#13.

19 February, 2020  M. Asai (intercoms-V10-06-01)
- Accept null string as an alias value. Addessing to bug report #2208.

9 December, 2019  B. Morgan (intercoms-V10-06-00)
- Cleanup CMake build, removing obsolete granular library option and
  explicit include_directories.

26 November, 2019  G. Cosmo (intercoms-V10-05-09)
- Fixed more cases of implicit type conversions from size_t to G4int.

19 November, 2019  G. Cosmo (intercoms-V10-05-08)
- Fixed more cases of implicit type conversions.

15 November, 2019  G. Cosmo (intercoms-V10-05-07)
- Fixed cases of implicit type conversions from size_t to G4int.

30 September, 2019  M. Asai (intercoms-V10-05-06)
- Eliminating global-scope enum in G4UItokenNum.hh.

17 April, 2019  M. Asai (intercoms-V10-05-05)
- Following UI commands now return proper return code when they are
  not successful. Addressing to bug report #2159.
   - /control/execute
   - /control/loop
   - /control/foreach
   - /control/shell
   - /control/getEnv

12 April, 2019  M. Asai (intercoms-V10-05-04)
- Fix comments in this History file and G4UIparameter.hh.

29 March, 2019  M. Asai (intercoms-V10-05-03)
- G4UIcommand::RangeCheck() : fixing a misbehavior caused in case
  string-type parameter comes prior to numeric-type parameters.

13 March, 2019  M. Asai (intercoms-V10-05-02)
- Introducing G4UIparameter::SetDefaultUnit() method that simplifies
  the definition of a unit parameter.

11 March, 2019  G. Cosmo (intercoms-V10-05-01)
- Fixed typos in printouts in G4LocalThreadCoutMessenger,
  G4UImanager and G4UIcontrolMessenger.

31 January, 2019  I. Hrivnacova (intercoms-V10-05-00)
- Merged GitHub PR #4: all Boolean operators now return G4bool.

23 July, 2018 M. Asai (intercoms-V10-04-04)
- G4UIcommand.cc : adding comparison of two variables. Addressing to
  Bug report #2068.

26 June, 2018 K. Murakami (intercoms-V10-04-03)
- G4InteractorMessenger.cc: fixed compilation warning for -Wunused-result

17 May, 2018 J. Madsen (intercoms-V10-04-02)
- updated "thread-local-static-var" model to
  "function-returning-thread-local-static-reference" model
  which fixes Windows DLL + MT

20 December, 2017 Makoto Asai (intercoms-V10-04-01)
- G4UIcommand, G4UImanager: additional implementation for adding
  a mechanism of carrying back error message from the messenger
  if a command is rejected due to the target class or the messenger.

18 December, 2017 Makoto Asai (intercoms-V10-04-00)
- G4UIcommand: added a mechanism of carrying error message from
  the messenger.

15 September, 2017 Gabriele Cosmo (intercoms-V10-03-04)
- More cases of static symbols to export for DLLs.
- Removed inline specification for two static methods in G4UImanager.

15 September, 2017 Gabriele Cosmo (intercoms-V10-03-03)
- Use DLL export flags for static symbols in G4UImanager.

27 July, 2017 Ivana Hrivnacova (intercoms-V10-03-02)
- Explicitly remove constness by means of remove_const.
  Fixing problem report #1803 (with the patch provided here).

30 May, 2017 Ivana Hrivnacova (intercoms-V10-03-01)
- Fixed G4GenericMessenger::Command::SetUnit:
  Do not ignore setting and issue a warning when running sequantial application
  built against Geant4 libraries compiled with MT enabled

8 February, 2017 Makoto Asai (intercoms-V10-03-00)
- Introducing /control/useDoublePrecision command to use 17 digits
  print out for the current parameter values. Addressing to bug
  report #1921.

7 October, 2016 Laurent Garnier (intercoms-V10-02-05)
- G4UIcommandTree : Set GetFirstMatchedString() public method

8 August, 2016 Makoto Asai (intercoms-V10-02-04)
- G4UIcontrolMessenger : improve /control/getVal command.

5 August, 2016 Makoto Asai (intercoms-V10-02-01, -02 and -03)
- G4UIcontrolMessenger : added new commands ifBatch,
  ifInteractive, doifBatch and doifInteractive.

25 July, 2016 Makoto Asai (intercoms-V10-02-00)
- G4UIcontrolMessenger : added new commands strif and strdoif.

12 November, 2015 Laurent Garnier (intercoms-V10-01-03)
- G4UImanager : Coverity fixes

26 May, 2015 Robert Hatcher (intercoms-V10-01-02)
- clang 3.4 doesn't have <type_traits> but 3.5 does; as does vc12.
  So can't rely on anything other than std:: namespace to avoid a clash;
  track down "using namespace std" issues in various processes packages

22 May, 2015 Robert Hatcher (intercoms-V10-01-01)
- Deal with implementation of remove_reference in G4AnyMethod for cases
  where one is compiling with the C++11 standard or clang and a
  "using namespace std" causes a clash

05 May, 2015 Andrea Dotti (intercoms-V10-01-00)
- Using new IsMasterThread() function as suggested by J.Allison

05 November, 2014  Robert Hatcher  (intercoms-V10-00-15)
- Rename a few inline method parameter names from 's' to 's0'
  to avoid a clash with CLHEP global 's'

23 October, 2014 A. Dotti (intercoms-V10-00-14)
- Add G4cout support for generic (non worker) threads via new method:
  G4UImanger::SetUpForSpecialThread(G4String prefix)
  Requires global-V10-00-38

8 October, 2014 M. Asai (intercoms-V10-00-12, -13)
- Adding a mechanism to make UI commands defined in a worker thread
to be registered to the G4UImanager of the master thread.

23 September, 2014 G. Cosmo (intercoms-V10-00-11)
- G4UImanager.hh : Renamed getThreadId() method to GetThreadId() and made
  post-const...

23 September, 2014 L. Garnier (intercoms-V10-00-10)
- G4UImanager.hh : Add getThreadId() method instead of a public member

23 September, 2014 L. Garnier (intercoms-V10-00-09)
- G4UImanager.hh : Change threadId from private to public

12 August, 2014 L. Garnier (intercoms-V10-00-08)
- G4UImanager.hh : add "G4MTcoutDestination* GetThreadCout()"
  to get the cout destination of this thread

4 May, 2014 M. Asai (intercoms-V10-00-07)
- G4GenericMessenger.cc : Fix core dump when GetCurrentValue()
  method is invoked for a command defined by DeclareMethod().

4 May, 2014 M. Asai (intercoms-V10-00-06)
- Introducing new UI commands /control/doif and /control/getVal.

3 May, 2014 M. Asai (intercoms-V10-00-05)
- Fix the treatment of double-quotes in G4UImanager::ForeachS().
  Addressing bug report #1614.

16 April, 2014 G. Cosmo (intercoms-V10-00-04)
- Removed unnecessary source file G4AnyType.cc, as all symbols are inlined.
- Corrected inclusion protection flag in G4GenericMessenger.hh.
  Addressing old problem report #1527.

9 April, 2014 L. Garnier (intercoms-V10-00-03)
- Fix DEV-140 : "/control/macroPath" now also apply to macros
  called inside a loop.

16 March, 2014 M. Asai (intercoms-V10-00-02)
- Introducing /control/cout/ignoreInitializationCout command to
  omit G4cout from threads during initialization, as they should
  be identical to the masther thread.

07 March, 2014 K. Murakami (intercoms-V10-00-01)
- G4UIparameter : improve dignostic message of CandidateCheck().

04 March, 2014 M. Asai (intercoms-V10-00-00)
- G4GenericMessenger : introducing three additional methods to make
  it Geant4-v10.0-compliant. Addressing to bug report #1580.

26 November, 2013 M. Asai (intercoms-V09-06-16)
- G4GenericMessenger : introducing two methods for declaring a method
  that has a unit. This solves the issue of G4GenericMessenger in
  multi-threaded mode.

21 November, 2013 M. Asai (intercoms-V09-06-15)
- G4UIcommandTree : add a protection against a G4UIcommandTree object
  that does not have any guidance.

20 November, 2013 M. Asai (intercoms-V09-06-14)
- Modify G4UImanager, G4UIcommandTree and G4UIcommand classes to make
  all UI commands defined in the worker thread are visible by the
  G4UImanager of the master thread so that undefined command, wrong
  parameters, etc are correctly detected.

20 November, 2013 M. Asai (intercoms-V09-06-13)
- Fix G4UIcmdWith3VectorAndUnit and G4UIcmdWithADoubleAndUnit.
  Since version 9.3, they do not check and reject incorrect unit
  but instead misinterpret and accept with wrong value.

5 November, 2013 M. Asai (intercoms-V09-06-12)
- Fix the way of forwarding a UI command to a thread immediately.

1 November, 2013 P. Mato (intercoms-V09-06-11)
- Moved template specilizations from G4AnyType.cc to header file to
  avoid Windows linking problems.

29 October, 2013 P. Mato (intercoms-V09-06-10)
- Fixed problem with G4GenericMessenger reported by Ivana that SetUnit
  and SetRange were not working together. Fixed variable shadowing in
  G4AnyType.hh.

25 September, 2013 M. Asai (intercoms-V09-06-09)
- G4UImessenger constructor with command directory now may take
  a boolean flag of not-to-be-broadcasted.

20 September, 2013 M. Asai (intercoms-V09-06-08)
- A UI command directory may be specified as such that all commands in that
  directory and all decendant directories should not be broadcased to
  worker threads. This setting must be made by the argument of G4UIdirectory
  constructor and cannot be changed. Each individual command may still be
  set to be broadcasted by accessing to G4UIcommand::SetToBeBroadcasted()
  method individually.

15 August, 2013 M. Asai (intercoms-V09-06-07)
- Improve the behavior of ignoring thread cout.

15 August, 2013 M. Asai (intercoms-V09-06-06)
- G4MTcoutDestination now has a capability of printing out only for
  the selected thread to make the display readable.
- Introducing according UI command /control/cout/ignoreThreadsExcept.

23 May, 2013 M. Asai (intercoms-V09-06-05)
- Introducing /control/cout/ command category for handling thread-local cout/cerr.

14 March, 2013 A. Dotti (intercoms-V09-06-04)
- Changing signature for GetCommandStack()

12 March, 2013 M. Asai (intercoms-V09-06-03)
- Adding flags for commands to be boradcasted to thread-local UI mamaners.

12 March, 2013 M. Asai (intercoms-V09-06-02)
- Adding IgnoreCmdNotFound into G4UImanager required for multi-threading.

14 February 2013 Jean Jacquemier (intercoms-V09-06-01)
- Removed modifcation G4UIcommand.cc for G4UnitTable (see tag intercoms-V09-06-00). These
  modification will be done once MultiThreading performance loss will be recover.

February 08, 2013 J.Jacquemier (intercoms-V09-06-00)
- G4UIcommand.cc: Modification for G4UnitTable (std::map).

26 October, 2012 P. Mato (intercoms-V09-05-07)
 - G4AnyMethod.hh avoided compilation warning.

22 October, 2012 K. Murakami (intercoms-V09-05-06)
 - GenericMessenger, add settting range and available states.

19 October, 2012 K. Murakami (intercoms-V09-05-05)
 - ReceiveG4cout/cerr() argument, change G4String to const G4String&
   (G4UIsesson, G4UIbatch)
 - Code reviewed in terms of "function const" and G4String argument.
   (G4UImanager, G4UIcommandTree)

17 October, 2012 K. Murakami (intercoms-V09-05-04)
 - Added macro path feature with /control/macroPath command (G4UImanager)
 - Added a shortcut way for defining UImacro commands (G4UImessenger)
 - Fixed on executing a macro file containing Windows return codes.

2 October, 2012 P. Mato (intercoms-V09-05-03)
 - Added some protection when getting the value of a command which is a method

1 October, 2012 P. Mato (intercoms-V09-05-02)
 - Fixed windows warning

27 September, 2012 P. Mato (intercoms-V09-05-01)
 - Added initial version of the G4GenericMessenger class.
   The use can be seen in the testGenericMessenger.cc unit test.
 - Added G4AnyType and G4AnyMethod class to support G4Generic Messenger.

23 May, 2012 G.Cosmo (intercoms-V09-05-00)
 - Fixed trivial cases of variable shadowing.

07 November, 2011 K. Murakami (intercoms-V09-04-01)
 - Code quality improvements by Coverity.
 - G4Exception ID is modified. (set sequential ID in UI)

20 October, 2011 M. Asai (intercoms-V09-04-00)
 - Eliminating obsolete G4Exception.

11 November, 2010 G. Cosmo (intercoms-V09-03-04)
 - Corrected printout spelling in G4UIbatch.

24 August, 2010 M. Asai (intercoms-V09-03-03)
 - Add new commands
   /control/if
   /control/add
   /control/subtract
   /control/multiply
   /control/divide

3 Aug. 2010 K. Murakami (intercoms-V09-03-02)
 - Range check of UI commands care for units.
   * G4UIcommahd::DoIt() method is changed to virtual.
   * G4UIcmdWithADoubleAndUnit/G4UIcmdWith3VectorAndUnit: add DoIt() method.

19 May 2010 L. Garnier (intercoms-V09-03-01)
 - G4UIManager : Add field to get GUI Window session

18 May, 2010 K.Murakami (intercoms-V09-03-00)
 - add used characters to tokenNum in G4UItokenNum
   for suppressing compiler warnings of gcc 4.5

6 November, 2009 K. Murakami (intercoms-V09-02-02)
 - add GetPreviousSession() in G4UIbatch

6 November, 2009 K. Murakami (intercoms-V09-02-01)
 - fix incorrect directory deletion of G4UIcommandTree::RemoveCommand()

14 May 2009 K.Murakami (intercoms-V09-02-00)
 - tagged for release 9.3 beta

7th May 2009, Laurent Garnier
 - G4UIcommandTree : Add a new function to complete a command path with
   maximum characters guess.
 - G4UIcommandTree : FindCommandTree will now return current tree when
   command path is "/"

21 November, 2008 K.Murakami (intercoms-V09-01-01)
 - fix improper comment treatment for line continue characters
   in G4UIbatch. [Problem-1034]
 - tagged for release 9.2

14 June 2008 K.Murakami (intercoms-V09-01-00)
- tagged

30th January 2008, Laurent Garnier
 - Add a new function in G4UIcommandTree to find a subtree

August 10, 2007 K.Murakami (intercoms-V09-00-01)
- G4UIbatch.cc : fixed the problem on 32bit-Linux.

July 16, 2007 K.Murakami (intercoms-V09-00-00)
- G4UImanager.cc : a bug fixed. (invalid returned object)
- G4UIbatch.cc : completely revised.
  * bug fixed for the treatment of the last line
  * add support for continued line by \, _
  * string after '#' is treated as comment
  * white spaces at the head of a line are allowed.

June 6, 2007, M.Asai
- Introducing /control/getEnv and /control/echo commands.

November 3, 2006, M.Verderi (intercoms-V08-01-01)
- Added missing forward declaration of G4VPhysicalVolume in
  G4VFlavoredParallelWorld header.

October 17, 2006, J.Allison (intercoms-V08-01-00)
- Extended G4UImanager::Loop to handle negative increments.

November 9, 2005  Gabriele Cosmo (intercoms-V07-01-03)
- Removed inclusion of <strstream> from G4UImessenger.hh.
- The tag coworks with: run-V07-01-05, radioactive_decay-V07-01-00.

October 26, 2005  Koichi Murakami (intercoms-V07-01-02)
- Migration from strstream to sstream

October 20, 2005, Joseph Perl (intercoms-V07-01-01)
- Tag to co-work with vis-V07-01-05.

October 17, 2005 Jane Tinslay
- intercoms->graphics_reps migration for G4VGraphicsScene and G4VVisManager

May 19, 2005, M.Asai (intercoms-V07-00-02)
- G4UIbatch is modified so that it now aborts the execution of the macro file
  (and any other parent macro files which issued this macro file) if a coomand
  in the macro file cannot be executed, instead of ignoring this particular
  command.

May 3rd, 2005, J.Allison (intercoms-V07-00-01)
- Completed migration to AddSolid.
- G4VVisManager.hh: Improved description (introduced G4VisExecutive).
- Made /units/list available in any G4 state.

Jan 27, 2005, J.Allison (intercoms-V07-00-00, needed for vis-V07-00-01)
- Interim tag for migration from AddThis to AddSolid and AddCompound.
- G4VGraphicsScene: introduced new names.  Old methods call new methods
  as interim solution.
- G4VVisManager::Draw(const G4VHit&):
  G4VVisManager::Draw(const G4VTrajectory&,...):
  Removed argument: objectTransformation = G4Transform3D::Identity.

Jun 7, 2004, G.Cosmo (intercoms-V06-01-02)
- GNUmakefile: added definition of GLOBLIBS for DLLs support on Windows.

May 16, 2004, M.Asai (intercoms-V06-01-01)
- Introducing utility methods ConvertToStringWithBestUnit() and
  ConvertToStringWithDefaultUnit() for command classes taking a unit parameter.

May 16, 2004, M.Asai (intercoms-V06-01-00)
- Introducing static methods in G4UIcommand class for conversion between
  a string and a value. Some implementation of derived classes are modified
  accordingly.

Jun 07, 2003, G.Cosmo (intercoms-V05-01-02)
- G4UItokenNum.hh: corrected implementation of operator=().

Jun 04, 2003, G.Cosmo (intercoms-V05-01-01)
- G4UItokenNum.hh: fixed longstanding bug in the definition of the
  struct "yystype": defined operator= and copy-constructor, defined
  default constructor with default initialisation of members.
  The fix makes happy Valgrind, concerning the usage of uninitialised
  values.

May 21, 2003, M.Asai (intercoms-V05-01-00)
- Clean up unused variables appeared in arguments.

Jan 20, 2003, J.Allison (intercoms-V05-00-00, co-works vis-V05-00-00)
- Added G4VVisManager::Draw methods for hits and trajectories.

Dec 4, 2002, M.Asai (intercoms-V04-01-04, intercoms-V04-01-05)
- Migration to new G4ApplicationState.

Nov 27, 2002, M.Asai (intercoms-V04-01-03)
- Fix memory leak in G4UIcommand.hh.

Nov 20, 2002, G.Cosmo (intercoms-V04-01-02)
- Patched access to public static data in G4VGlobalFastSimulationManager
  and G4VVisManager. Added static accessors to be used in the kernel to
  allow porting on Windows DLLs.

Nov 01, 2002, M.Asai (intercoms-V04-01-01)
- Tagged for Geant4 5.0

Oct 29, 2002, M.Asai
- Fixed uninitialized data member in G4UIcommand.cc

Oct 17, 2002, J.Allison (intercoms-V04-01-00 with vis-V04-01-02)
- Added two new pure virtual functions to G4VGraphicsScene:
    AddThis(const G4VTrajectory&)
    AddThis(const G4VHit&)

Jun 7, 2002, M.Asai (intercoms-V04-00-04)
- Fix for a warning message in G4UIbatch.

May 15, 2002, M.Asai (intercoms-V04-00-03)
- Limit number of stored command string. (improvements)

May 14, 2002, M.Asai (intercoms-V04-00-02)
- Limit number of stored command string.

May 3, 2002, M.Asai (intercoms-V04-00-01)
- Recover G4UImanager::ApplyCommand(G4String) to accept + operator

Apr 26, 2002, M.Asai (intercoms-V04-00-00)
- Eliminate naive G4String type arguments
 Modified classes :
  G4UIparameter G4UImanager G4UIbatch G4UIaliasList G4UIcmdWithAnInteger
  G4UIcmdWithADoubleAndUnit G4UIcmdWithADouble G4UIcmdWithABool
  G4UIcmdWith3VectorAndUnit G4UIcmdWith3Vector G4UIcommand G4UIcommandTree

Nov 23, 2001, M.Asai (intercoms-V03-02-15)
- Fix a problem with a command which has doubled slash.

Oct 23, 2001, G.Cosmo (intercoms-V03-02-14)
- Restored inclusion of G4Tokenizer.hh for removal of STLinterface module.
  Files: G4UImanager.cc, G4UIcommand.cc and G4UIparameter.cc.

Oct 12, 2001, M.Asai (intercoms-V03-02-13)
- Rename method in G4UIcommandTree to avoid confliction.
- Temporarly replaced inclusion of G4Tokenizer.hh with old RW wrapper. (G.Cosmo)
- Replaced int/double with G4int/G4double wherever needed. (G.Cosmo)

Oct 11, 2001, G.Cosmo (intercoms-V03-02-12)
- Replaced inclusions of ctoken.h with G4Tokenizer.hh in
  G4UImanager[.hh.cc], G4UIcommand.cc and G4UIparameter.cc.
  Removed comment on RW wrappers.
- Co-works with tag "globals-V03-02-03" where the STLInterface
  module has been removed.

Oct 10, 2001, M.Asai (intercoms-V03-02-11)
- Change aliasing characters from "[" and "]" to "{" and "}".
  This is required to fix the crash in hadronics test code.
- Introducing /control/createHTML

Oct 5, 2001, M.Asai (intercoms-V03-02-10)
- Introducing Loop() and Foreach() methods.
- Introducing three new UI commands
    /control/shell
    /control/foreach
    /control/loop

Oct 4, 2001, M.Asai (intercoms-V03-02-09)
- Correction for string parameter starting with a space.
- Recurrent variables

Oct 1, 2001, M.Asai (intercoms-V03-02-08)
- Introducing a functionality of "shell variables".
    New class : G4UIaliasList
    Modified classes : G4UImanager G4UIcontrolMessenger

Sep 28, 2001, M.Asai (intercoms-V03-02-07)
- For Batch mode, comment lines are displayed only at verbose level = 2.

Aug 29, 2001, M.Asai (intercoms-V03-02-06)
- Corrections in G4UIbatch to ignore the blank line.

Aug 27, 2001, M.Asai (intercoms-V03-02-05)
- G4UIbatch now displays (G4cerr) the error message.
  Correction according to the bug report #294.

Aug 17, 2001, J.Allison (intercoms-V03-02-04)
- Coworks with vis-V03-02-12 and greps-V03-02-02.
- Added G4VisManager::Draw(const G4Scale&,...

Aug 14, 2001, J.Allison (intercoms-V03-02-03)
- Coworks with vis-V03-02-11 and greps-V03-02-02.
- Moved default value of argument G4Transform3D::Identity from
  G4VSceneHandler::BeginPrimitives to
  G4VGraphicsScene::BeginPrimitives.

July 21, 2001, J.Allison (intercoms-V03-02-02)
- Added G4VGraphicsScene::AddPrimitive(const G4Scale&).

July 18, 2001, M.Asai (intercoms-V03-02-01)
- Added a feature of suppressing program abortion due to G4Exception
  affected files : G4UIcontrolMessenger.hh G4UIcontrolMessenger.cc
- This co-works with global-V03-02-01

July 17, 2001, J.Allison (intercoms-V03-02-00)
- Fixed parsing of quoted (") tokens in current value for null or defaulted
  parameters in loop over previous parameters in G4UIcommand::DoIt().

May 18, 2001, G.Cosmo (intercoms-V03-01-00)
- Cleared pedantic warnings detected in Linux-g++ with ISO/ANSI setup.

Mar 8, 2001, G.Cosmo (intercoms-V03-00-02)
- G4UIcommand.cc: replaced calls to entries() with size(), according
  to migration to STL vectors for G4UnitsTable and related in tag
  "global-V03-00-07".

Feb 8, 2001, M.Asai (intercoms-V03-00-01)
- Migration to STL vector classes
  affected classes :
./intercoms/include/G4UIcommand.hh
./intercoms/include/G4UIcommandTree.hh
./intercoms/include/G4UImanager.hh
./intercoms/src/G4UIcommand.cc
./intercoms/src/G4UIcommandTree.cc
./intercoms/src/G4UImanager.cc

Jul 26, 00, M.Asai (tag intercoms-V02-00-01)
- Retagging with removing G4StateManager, G4VStateDependent and G4ApplicationState
  classes.

Jul 22, 00, M.Asai (tag intercoms-V02-00-00)
- Making G4UImanager as a state dependent class.
- Remove G4StateManager and G4VStateDependent classes. They are now in
  source/global/management.

May 18, 00, J.Allison
- Small spelling correction in class description of G4VGraphicsScene.hh.

Feb 14, 00, M.Asai (tag intercoms-V01-00-00)
- Put "const" to "char *" arguments in G4UImanager

Nov 23, 99, J.Allison (tag intercoms-V00-01-02)
- Tagged changes for Software Reference Manual on behalf of Makoto Asai.

Nov 4, 99, M.Asai (tag intercoms-V00-01-01)
- G4UImanager.cc is updated for G4cout modification.
- Comments are enriched for software reference manual.

Oct 26th, 99 J.Allison
- Prepared G4VVisManager.hh and G4VGraphicsScene.hh for Software
  Reference Manual.

Oct 4th, 99 J.Allison (tag intercoms-V00-01-00)
- Augmented G4VGraphicsScene to include AddPrimitive methods for
  G4Polyline, G4Text, G4Circle, G4Square, G4Polymarker, G4Polyhedron
  and G4NURBS.

May 19th, 99 J.Allison (tag intercoms-01-00-05)
- Protected G4UIcommand.cc with if (aToken.length()>0...

May 19th, 99 J.Allison (tag intercoms-01-00-04)
- Improvements suggested by Code Wizard in G4VVisManager.

May 7th, 99 J.Allison (tag intercoms-01-00-03)
- Added newVal.resize( parameter.entries() ) to G4UIcommand::SetParameter.

Apr 28, 99 J.Allison (tag intercoms-01-00-02)
- Moved G4VVisManager and G4VGraphicsScene from graphics_reps.

Paulo Mora de Freitas (tag intercoms-01-00-01)
- Added abstract interface G4VFlavoredParallelWorld and
  G4VGlobalFastSimulationManager so we can decouple vis from parametrisation.

Dec 03, 98 J.Allison (tag intercoms-00-04-04)
- Protected G4UImanager::SetCoutDestination with #ifdef G4STREAM.

Dec 02, 98 M.Asai (tag intercoms-00-04-03)
- G4UnitsMessenger is constructed/destructed by G4UImanager.

Nov 27, 98 M.Asai (tag intercoms-00-04-02)
- G4UnitsMessenger has been inported from global/management to avoid a loop dependency.

Nov 25, 98 J.Allison (tag intercoms-00-04-01)
- Allowed quotation-mark-enclosed blank-embedded parameters in GetCurrentValue.
- "Cosmetic" change to G4UIparameter (M.Asai).

Nov 05, 98 M.Asai (tag intercoms-00-03-07)
- Move G4strstreambuf.hh to global category to avoid a loop dependency (M.Nagamatsu)
  affected files are G4UImanager.hh G4UImanager.cc, G4UIsession.hh.

Oct 26, 98 M.Asai (tag intercoms-00-03-06)
- Add SetCoutDestination(NULL) to the constructor and destructor of G4UImanager.

Oct 20, 98 M.Asai (tag intercoms-00-03-05)
- Change static methods in G4UIcommand which are for unit conversion from protected
  to public.

Oct 13, 98 M.Asai (tag intercoms-00-03-04)
- Interoducing a concrete implementation of G4cout/G4cerr (M.Nagamatsu).
   affected files : include/G4UImanager.hh G4strstreambuf.hh
                    src/G4UImanager.cc G4UIsession.cc

Oct 01, 98 M.Asai (tag intercoms-00-03-03)
- Introducing a new UI command named "manual".

Sep 27, 98 M.Asai (tag intercoms-00-03-02)
- Fixes a bug in G4UIparameter. This bug caused a trouble of range
 checking *only* for the parameter(s) atouched to the G4UIcommand
 base class objects.

Sep 25, 98 M.Asai (tag intercoms-00-03-01)
- Minor modification in G4UIcommand.cc.
- "DeregisterDependent()" method is implemented in G4StateManager and
  this method is invoked by the destructor of G4VStateDependent base class.

Aug 11, 98 M.Asai (tag intercoms-00-02-01)
- G4UIcommand.cc corresponds to "string with blanks".

July 15, 98 M.Asai (tag intercoms-00-01-03)

July 13, 98 M.Asai (tag intercoms-00-01-02)
- Bug in G4UIcommand.hh is fixed.

July 4, 98 <.Asai (tag intercoms-00-01-01)
- Ready for the beta release.

June 30, 98 M.Asai (tag intercoms-00-07-01)
- Debug G4UIdirectory.cc for protecting against missing "/" at the tail.

June 10, 98 M.Asai
- Introducing more methods in G4UIcommand, G4UIcmdWithADoubleAndUnit,
G4UIcmdWith3VectorAndUnit with the new G4UnitsTable
- Tagged as intercoms-00-06-02

June 8, 98 M.Asai
- Introducing new methods in G4UIcommand, G4UIcmdWithADoubleAndUnit,
G4UIcmdWith3VectorAndUnit with the new G4UnitsTable
- Tagged as intercoms-00-06-01

April 21, 98 M.Asai
- G5ApplicationState.hh, G4StateManager.h and .cc, G4VStateDependent.hh
  and .cc are moved from "globals/management".
- Tagged as intercoms-00-05-03.

April 20, 98 M.Asai
- tagged intercoms-00-05-02.

April 9, 98 G.Cosmo
- Porting on DEC-cxx 6.0.
  Removed meaningless usage of "const" qualifier from functions
  return type for basic types by value. Modified files:
  G4UIcommand.hh, G4UIcommandTree.hh, G4UIparameter.hh

April 6, 98 M.Nagamatu
- added getRange() to G4UIcommand.hh

March 27, 98 M.Asai
- remove redandant constructors/methods from
 G4UIparameter, G4UIcommand, G4UIcmd***
- tagged intercoms-00-05-01

March 2, 98 S.Sadilov
- fix include <strstrea.h> in G4UIcommand.cc for WinNT

February 18, 98  John Allison
- made G4UIcommand::valueOf a static member function.
- tagged intercoms-00-04-01

February 3, 98 M.Asai - (intercoms-00-03-02)
- Debugged : G4UImanager.cc
- Tagged as intercoms-00-03-02

January 29, 98 M.Asai - (intercoms-00-03-01)
- Tagged as intercoms-00-03-01

December 19, 97 G. Cosmo - (alpha03)
- Created.

