Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/analysis/History

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 # Category analysis History
  2 
  3 See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
  4 which **must** added in reverse chronological order (newest at the top).
  5 It must **not** be used as a substitute for writing good git commit messages!
  6 
  7 -------------------------------------------------------------------------------
  8 
  9 ## 2024-11-04 I. Hrivnacova (analysis-V11-02-08)
 10 - Coverity fixes:
 11   - Correct usage of std::move
 12 
 13 ## 2024-10-16 I. Hrivnacova (analysis-V11-02-07)
 14 - G4AccVector, G4Acc[Unordered]Map:
 15   Replaced inheritance from standard collections with composition,
 16   added most frequent functions:
 17   - operator[], at, size, [c]begin, [c]end, clear - all
 18   - insert, find  - map, unordered_map
 19   - push_back, emplace_back, pop_back - vector
 20 
 21 ## 2024-09-13 I. Hrivnacova (analysis-V11-02-06)
 22 - Fix setting file compression level in G4GenericFileManager:
 23   propagate setting to all registered file managers.
 24   (Addressing the problem report #2625.)
 25 
 26 ## 2024-09-10 I. Hrivnacova (analysis-V11-02-05)
 27 - Coverity fixes:
 28   - Use std::move, const auto& instead of auto to avoid copying
 29 
 30 ## 2024-08-30 G. Cosmo (analysis-V11-02-04)
 31 - Fixed compilation warning on macOS/XCode for implicit type conversion in
 32   G4AccumulableManager.
 33 
 34 ## 2024-07-08 I. Hrivnacova (analysis-V11-02-03)
 35 Added support for accumulable collections, and more:
 36 - New classes:
 37   G4AccArray, G4AccMap, G4AccUnorderedMap, G4AccVector
 38 - Renamed class G4Accumulable<T> in G4AccValue<T>,
 39   and added a using for the old name for backward compatibility
 40 - Replaced G4AccumulableManager::RegisterAccumulable with Register
 41   and deprecated the function with the old name
 42 - Added G4AccType enumaration for avalable accumulable types
 43 - Added functions for printing with G4PrintOption argument
 44   to all accumulable types and G4AccumulableManager:
 45   - Note this will require to update user classes which implement
 46     the Print() function without or with different argument(s)
 47 - Added  G4Accumulables::VerboseLevel and its setter/getter
 48   in G4AccumulableManager
 49 - Extended test08 with new accumulable types
 50 
 51 ## 2024-07-08 I. Hrivnacova (analysis-V11-02-02)
 52 - Clang-tidy checks:
 53   - Removed virtual keywords for overriding functions
 54     (G4GenericFileManager, G4THnToolsManager)
 55   - removed redundant data initialization (G4HnInformation)
 56   - use emplace-back in G4RootMainNtupleManager.cc
 57   - removed redundant data initialization
 58 
 59 ## 2024-06-05 I. Hrivnacova (analysis-V11-02-01)
 60 - Do not delete G4Accumulable<T> default constructor,
 61   as it prevents from using it in an array without an explicit
 62   initialization in the header.
 63 
 64 ## 2024-05-02 Ben Morgan (analysis-V11-02-00)
 65 - Fixed wrong conversion to G4String in G4THnToolsManager, leading to
 66   compilation error on gcc compiler with C++23 Standard enabled.
 67 
 68 ## 2023-11-03 Ben Morgan (analysis-V11-01-10)
 69 - Use "G4" prefixed version of EXPAT/ZLIB CMake variables
 70 
 71 ## 2023-09-20  I. Hrivnacova (analysis-V11-01-09)
 72 - Updated GetNofNtuples implementation to take into account
 73   new 'onlyIfExists' parameter:
 74   - Moved 'GetNofNtuples' and 'List' functions in G4NtupleBookingManager
 75     where the info about deleted ntuples (fFeeeIds) is available
 76 
 77 ## 2023-08-29  I. Hrivnacova (analysis-V11-01-08)
 78 - Adding new G4AnalysisManager functions for deleting selected
 79   ntuples:
 80     G4bool  DeleteNtuple(G4int id, G4bool clear = false);
 81   and UI commands:
 82     /analysis/ntuple/delete id [keepSetting]
 83 - Added GetNtuple() functions in G4GenericAnalysisManager:
 84     tools::ntuple_booking* GetNtuple(...) const
 85   that, in difference from output specific managers, return
 86   ntuple_booking, that is common to all output types
 87 - Added UI commands for creating ntuple:
 88   /analysis/ntuple/create name title
 89   /analysis/ntuple/create[I|F|D|S]Column name
 90   /analysis/ntuple/finish
 91 - Changed verbosity level for "merge" information from 1 to 2
 92 
 93 ## 2023-08-29  I. Hrivnacova (analysis-V11-01-07)
 94 - Fixed Coverity in G4RootHnFileManager 
 95 
 96 ## 2023-08-14  I. Hrivnacova (analysis-V11-01-06)
 97 - Updates & fixes in files handling:
 98   - Moved Set/GetDefaultFileType methods and UI command in
 99     G4VAnalysisManager and G4AnalysisMessenger
100     (from G4GenericAnalysisManager/Messenger)
101     - This allows to support omitting file extension also when
102       setting file names to histograms/profiles
103   - Removed G4GenericAnalysisMessenger
104   - Added clearing of file data in 'DeleteEmptyFiles'
105     - this prevent from deleting non-empty files created/filled in previous
106       runs but not used in new runs
107   - Supressed warning from 'CreateTFile' when file is already
108     existing
109 
110 ## 2023-08-02  I. Hrivnacova (analysis-V11-01-05)
111 - Adding new G4AnalysisManager functions for deleting selected
112   histograms/profiles:
113     G4bool  Delete[Hn|Pn](G4int id, G4bool clear = false);
114   and UI commands:
115     /analysis/[hn|pn]/delete id [keepSetting]
116 
117 ## 2023-07-21 I. Hrivnacova (analysis-V11-01-04)
118 - Fixed implementation of set commands per dimension:
119    /analysis/hn|pn/setX|Y|Z
120   (Addressing a problem report in Geant4 forum.)
121 
122 ## 2023-07-20 I. Hrivnacova (analysis-V11-01-03)
123 - Moved kDimN constants from G4VAnalysisManger in G4AnalysisUtilities
124   and replaced all hard-wired literals '1', '2' and '3' with these
125 
126 ## 2023-07-19 I. Hrivnacova (analysis-V11-01-02)
127 - Addressed "TO DO" comments left in the code, improvements & a fix:
128   - Moved 'CompressionLevel' data/functions members from G4AnalysisManagerState
129     to G4BaseFileManager to make it available in helper classes
130     which do not have access to state
131     - Compression level (default 1) is now used also when writing a Root histogram
132       in an extra file and writing Hdf5 ntuples
133   - Postpone creating G4HnMessenger after G4THnMessenger to get
134     better command ordering in the 'help' tree
135   - Moved setAxisLog command from G4THnMessenger to G4HnMessenger
136     as it applies to function defined in its associated class
137   - Moved 'kMaxDim' constant from G4THnMessenger in G4AnalysisUtilities
138     as needed also at other places
139   - Fix: Do not create 'setAxis*'' commands for idim = 4
140   - Added warnings about failure in *HnFileManager::WriteExtra where 
141     missing
142   - Use forward declarations for templated classes where suitable
143 
144 ## 2023-06-09 I. Hrivnacova (analysis-V11-01-01)
145 - Fixed creating histograms with user defined bins
146   - bug report #2541
147 - Improved 'FillH*'' debug message
148 
149 ## 2022-12-12 Ben Morgan (analysis-V11-01-00)
150 - Remove obsolete GNUmakefile scripts
151 
152 ## 2022-11-28  I. Hrivnacova (analysis-V11-00-27)
153 - Implemented analysis manager list command (missing in analysis-V11-00-10):
154   /analysis/ntuple/list  [onlyIfActive]
155 
156 ## 2022-11-25 Gabriele Cosmo (analysis-V11-00-26)
157 - Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.
158 
159 ## 2022-11-14 I. Hrivnacova (analysis-V11-00-25)
160 - Added a protection against nullptr in G4VAnalysisManager::GetNofNtuples()
161   - addressing the problem report #2518.
162 
163 ## 2022-11-09 I. Hrivnacova (analysis-V11-00-24)
164 - Restored G4RootNtupleFileManager::CloseNtupleFiles()
165   used in MPI overriding class
166 
167 ## 2022-11-03 I. Hrivnacova (analysis-V11-00-23)
168 - Removed debug printing from G4XmlFileManager
169 
170 ## 2022-11-02 I. Hrivnacova (analysis-V11-00-22)
171 - Coverity fixes:
172   - Dead code (G4THnMessenger, G4RootFileManager)
173   - Resource leak (G4NtupleMessenger)
174   - Recursion in included headers (G4THnToolsManager, G4THnMessenger)
175 
176 ## 2022-10-28 I. Hrivnacova (analysis-V11-00-21)
177 - Removed debug printing from G4AnalysisMessenger constructor
178 
179 ## 2022-10-21 I. Hrivnacova (analysis-V11-00-20)
180 - Added new UI commands for analysis file management:
181 
182   - New commands in G4AnalysisMessenger class:
183     /analysis/openFile, write, closeFile and reset
184     New command in new G4GenericAnalysisMessenger class:
185      /analysis/setDefaultFileType
186   - Support also multiple write with/without calling write and/or reset
187     in between two runs
188   - Demonstrated (and tested) in new analysis example AnaEx03
189 
190   - Implementation details:
191     - Do not broadcast commands for actions called at the end of run
192       (write, reset and closeFile) and let master to execute action on workers
193       and master in the right order
194     - Added alternative private methods for Write, Reset and CloseFile
195       with the name suffix FromUI, executed only on master
196       and taking care of processing on workers in the right order
197       - Make G4AnalyssMessenger friend class to give access to these functions
198     - Added G4AnalysisState::fThreadId and its getter needed for
199       accessing thread Id when triggering workers actions from master
200     - Added a protection from calling OpenFile twice
201     - Reset histograms on workers (G4THnManager.icc) after they were merged
202       in master (otherwise they contribute again in the accumulation of data
203       when successive write is called without previous reset)
204 
205 ## 2022-10-15 I. Hrivnacova (analysis-V11-00-19)
206 - Corrected multiple write for ntuples with set file and activated merging
207   (files n1.root and ntuples.root in test32)
208 
209 ## 2022-10-14 I. Hrivnacova (analysis-V11-00-18)
210 - Implemented support for writing ntuples in a file multiple times:
211   - The object cycle number is attributed in the same way as for histograms
212   - fCycle data and its functions moved from Hn information objects in G4AnalysisState
213   - Fixed development in analysis-V11-00-16: corrected updating Csv file names per histograms
214     with cycle number
215 
216 ## 2022-10-13 I. Hrivnacova (analysis-V11-00-17)
217 - Replaced G4TNtupleDescription, G4RootPNtupleDescription structures with classes
218   more suitable for adding members for handling ntuple cycles
219 
220 ## 2022-10-10 I. Hrivnacova (analysis-V11-00-16)
221 - Implemented support for writing histograms in a file multiple times:
222   - With the Root output type the object cycle number is attributed automatically
223   - With other output types ,that do not support object cycles, the object name
224     is appended with _vN, where N is the number of the write cycle, when the object
225     is written more than once.
226     No extension is added when the object is written for the first time (cycle 0).
227 
228 ## 2022-10-05 I. Hrivnacova (analysis-V11-00-15)
229 - Fix in applying units in "create" and "set" commands
230 
231 ## 2022-09-08 Ben Morgan (analysis-V11-00-14)
232 - Resolve inconsistent dependency in hntools
233 
234 ## 2022-08-31 I. Hrivnacova (analysis-V11-00-13)
235 
236 - Introduced a common implementation for histogram/profiles manager:
237   - New classes:
238     - G4VTBaseHnManager<DIM> - replaces G4VHn|PnManager
239     - G4THnToolsManager<DIM,HT> - replaces G4H*|P*Manager classes
240     - G4THnMessenger - replaces G4H*|P*Messenger class
241     - G4HnDimension - helper type to manipulate ndim, xmin, xmake parameters
242       together
243   - Updated classes:
244     - G4THnManager: added a vector of pairs of histogram and information
245       as a data member to simplify the access when both objects are used
246     - Updated HnInformation structures functions to use compacted
247       parameters
248     - Updated functions in G4AnalysisUtilities:
249       - Moved Check*, UpdateTitle functions in appropriate classes
250       - Added G4Analysis::IsProfile<T>()
251     - All messenger classes: replaced the usage of the analysis messenger helper
252       with private helper functions
253     - G4Plot* classes moved from managent in hntools
254   - Removed classes
255     - G4VH1Manager, etc. for H2, H3, P1, P2
256     - G4H1Manager, etc. for H2, H3, P1, P2
257     - G4H1Messenger, etc. for H2, H3, P1, P2
258     - G4ToolsAnalysisMassenger, G4FileMessenger
259     - G4BaseHistoUtilities
260 
261 ## 2022-08-25 G. Cosmo (analysis-V11-00-12)
262 - Attempt to fix compilation warning on gcc-12.1 in function ObjectType()
263   in G4AnalysisMessengerHelper.
264 
265 ## 2022-08-24 I. Hrivnacova (analysis-V11-00-11)
266 - Fix in deleting files (root):
267   do not delete the final (merged) file when only ntuples are present
268 
269 ## 2022-08-22 I. Hrivnacova (analysis-V11-00-10)
270 - Implemented new analysis manager List functions and associated commands:
271   /analysis/list [onlyIfActive]
272   /analysis/xy/list  [onlyIfActive]
273       where xy = h1, h2, h3, p1, p2, ntuple
274 
275 ## 2022-08-09 I. Hrivnacova (analysis-V11-00-09)
276 - Refactored the of the analysis manager methods for file handlling from 
277   the output specific managers in the common implementation in G4ToolsAnalysisManger. 
278   Besides code simplification, this guaranties identical behavior with generic analysis 
279   manager.
280 - Reviewed/fixed resetting data when postponed after CloseFile (for plotting)
281 - Fixes in deleting files: 
282   do not delete (not empty) main ntuple files with generic analysis manager,
283   delete empty ntuple csv and xml files created on the main thread
284 
285 ## 2022-08-01 I. Hrivnacova (analysis-V11-00-08)
286 - clang-tidy fixes - checks recommended in CODING_GUIDELINES.rst
287 
288 ## 2022-07-27 I. Hrivnacova (analysis-V11-00-07)
289 - Fix Coverity: use auto& to avoid copying of shared_ptr and pair objects
290 
291 ## 2022-07-13 I. Hrivnacova (analysis-V11-00-06)
292 - Added G4RootRFile type = a tuple for the Root read file including its directories,
293   analogic to G4RootRFile for Root output, used now in the G4RootRfileManager::fRFiles
294   map instead of tools::rroot::file.
295   This allows deleting file directories in the class dtor, and should fix
296   the Coverity defect (deleting local variable 'newDir' in G4RootRNtupleManager)
297 
298 ## 2022-05-18 Guy Barrand (analysis-V11-00-05)
299 - have "toolx" namespace for g4tools classes related to "externals", then:
300   - tools::[hdf5,zlib,xml::xml_style,raxml,sg::text_freetype] become toolx::[hdf5,zlib,xml::xml_style,raxml,sg::text_freetype].
301   - corresponding includes #include <tools/...> become #include <toolx/...>
302 
303 ## 2022-03-24 Ben Morgan (analysis-V11-00-04)
304 - Use geant4_category_modules to optionaly add G4hdf5 module to category
305 
306 ## 2022-03-02 I. Hrivnacova (analysis-V11-00-03)
307 - Fix notifying about closing file in G4GenericAnalysisManager;
308   this fixes savinng scorers in analysis file in B3 example
309   for the second and further runs.
310 
311 ## 2022-02-23 I. Hrivnacova (analysis-V11-00-02)
312 - Added "getVector" commands (for visualization): 
313     /analysis/hn|pn/getVector
314 
315 ## 2022-01-28 Ben Morgan (analysis-V11-00-01)
316 - Replace `geant4_global_library_target` with direct file inclusion and
317   call to `geant4_add_category` to define library build from source modules.
318 
319 ## 2021-12-10 Ben Morgan (analysis-V11-00-00)
320 - Change to new Markdown History format
321 
322 ---
323 
324 # History entries prior to 11.0
325 
326 November 15, 2021 I. Hrivnacova (analysis-V10-07-30)
327 - Fixed remaining Coverity issues
328 
329 November 15, 2021 I. Hrivnacova (analysis-V10-07-29)
330 - Fixed Coverity issues
331 
332 November 09, 2021 I. Hrivnacova (analysis-V10-07-28)
333 - Fix in G4MPIToolsManager: do not call Receive() twice
334 
335 November 05, 2021 I. Hrivnacova (analysis-V10-07-27)
336 - Added new public function G4VAnalysisManager::Clear()
337   that deletes all allocated analysis objects and clears
338   their collections.
339   This function should be used as a replacement for deleting
340   the analysis manager in the applications that allocate the
341   analysis data in begin of run and deleted the analysis
342   manager in end of run.
343 - Minor code clean-up
344 
345 November 04, 2021 I. Hrivnacova (analysis-V10-07-26)
346 - Renamed G4VAnalysisReader::ReadNtuple(const G4String&)
347   back in GetNtuple.  Cannot reproduce the ambiguity error
348   with GetNtuple(G4int).
349 
350 October 28, 2021 I. Hrivnacova (analysis-V10-07-25)
351 - Moved data members initialization in header files;
352   added deleted default constructor where appropriate,
353   added explicit keyword to one argument construtors where
354   missing
355 - Use brace data members initialization everywhere
356 - Implemented missing WriteOnAscii() - for h2,h3,p1,p2
357 - Use fonts from tools in G4PlotManager.cc
358 - Removed CMake -DTOOLS_USE_EXPAT definition (not needed)
359 - Added G4ToolsAnalysisMessenger that implements "get" commands
360     /analysis/hn|pn/get id
361 
362 October 27, 2021 B.Morgan (analysis-V10-07-24)
363 - Use G4StrUtil functions replacing deprecated G4String member functions
364 
365 October 26, 2021 I. Hrivnacova (analysis-V10-07-23)
366 - Fixed G4*RFileManager destructors;
367   thanks to B. Morgan for spotting this bug
368 
369 October 25, 2021 I. Hrivnacova (analysis-V10-07-22)
370 - Added public function G4VAnalysisManager::Reset()
371   - Needed when calling files are closed without reset
372     by calling analysisManager->CloseFile(false)
373     (see B5 example with interactive plotting)
374 - Minor fixes:
375   - Do not issue same log messages from generic analysis manager
376     and generic file manager
377   - Do not call SetIsEmpty() twice in Hdf5
378 
379 October 22, 2021 I. Hrivnacova (analysis-V10-07-21)
380 - Support for ntuple columns of string vector type
381   for Xml, Hdf5 output type:
382   - added helper code for Xml reader, no update needed for Hdf5
383 
384 October 19, 2021 I. Hrivnacova (analysis-V10-07-20)
385 - Implemented support for file system directories with Csv output
386   as proposed in [GitHub PR #32](https://github.com/Geant4/geant4/pull/32)
387 - Fixed reading objects from files with directories (Root, Hdf5)
388 - Implemented handling directories in Generic analysis manager
389 - Clean-up in G4ToolsAnalysisManager
390 - Reimplemented utility functions GetBaseName(), GetExtension() using
391   <filesystem> library
392 
393 October 6, 2021 I. Hrivnacova (analysis-V10-07-19)
394 - Added new G4AnalysisManager.hh header defining
395   using G4AnalysisManager = G4GenericAnalysisManager
396 - Removed g4csv.hh, g4hdf5.hh, g4root.hh, g4xml.hh
397 - Reduced output specific type definitions in
398   g4xyz_defs.hh to ntuple end rntuple types
399 - Removed g4analysis.hh with the
400   G4Analysis::MasterInstance() factory method
401 - Removed the default value ("root") for the default file type
402   in G4GenericAnalysisManager - the default must be set by
403   user if using fileNames without extensions
404 - Updated exception codes and messages in accummulables
405 
406 September 20, 2021 I. Hrivnacova (analysis-V10-07-18)
407 - clang-tidy performance fixes:
408   - use const auto&, std::move where appropriate
409   - revisited passing by std::shared_ptr
410 - clang-tidy modernize fixes:
411   - use make_unique, nullptr, auto, emplace_back, using
412   - use default for disabled constructors and destructors,
413     delete for private member functions not implemented
414 - Removed explicit for constructors with more than 1 parameters
415 
416 September 17, 2021 I. Hrivnacova (analysis-V10-07-17)
417 - Fixed evaluation of result of deleting empty file
418   in G4RootAnalysisManager causing wrong warnings
419 
420 September 3, 2021 I. Hrivnacova (analysis-V10-07-16)
421 - Added support for ntuple columns of string vectors via
422   new public functions in G4VAnalysisManager and G4VAnalysisReader:
423   G4bool SetNtupleSColumn(const G4String& columnName,
424                           std::vector<std::string>& vector) final;
425   G4bool SetNtupleSColumn(G4int ntupleId, const G4String& columnName,
426                           std::vector<std::string>& vector) = 0;
427 
428 August 31, 2021 I. Hrivnacova (analysis-V10-07-15)
429 - Code clean-up:
430   - Review of static data members:
431     - changed static const to static constexpr where possible
432       or inline static const otherwise (for G4String)
433     - declares static data members inline and moved their initialization
434       in header file
435   - Be consistent:
436     - "" for includes from g4tools
437     - "fk" prefix for class constexpr data names
438     - Template argument names:
439     HT, NT, FT for histogram/profile, ntuple, file types
440   - Removed redundant includes of "G4Threading.hh", <iostream>
441 
442 August 26, 2021 B. Morgan (analysis-V10-07-14)
443 - Remove default: in switch for GetMergeFunction
444   - Prevents accidental fall through of Windows
445 
446 August 25, 2021 I. Hrivnacova (analysis-V10-07-13)
447 - Separated Hn/Pn object file handling from output specific analysis readers
448   in Hn file manager classes for reading (G4XHnRFileManager)
449 - Replaced the explicit Read[Hn|Pn] functions in the analysis readers
450   by a common implementation in G4ToolsAnalysisReader
451   using the newly introduced Hn file manager classes for reading
452 - Separated ReadNtuple functions from the analysis readers in
453   the RNtuple manager classes
454 - Renamed G4VAnalysisReader::GetNtuple(const G4String&) in ReadNtuple
455   to avoid ambiguity with GetNtuple(G4int).
456   Note that this change brings backward incompatibility.
457 - Using more shared pointers
458 
459 August 18, 2021 I. Hrivnacova (analysis-V10-07-12)
460 - Simplified verbosity messages
461 - Plus more simplifications in Warn calls
462 - Separated inline functions from G4MPIToolsManager.hh
463   to new .icc
464 
465 August 16, 2021 I. Hrivnacova (analysis-V10-07-11)
466 - Simplified calls to G4Exceptions:
467   - Added G4Analysis::Warn() and changed the calls to G4Exception in
468     all analysis classes (except accummulables)
469   - Reduced exception classification to
470     Analysis_F001: Fatal exceptions - all fatal exception
471     Analysis_W001: Warnings - all warnings
472 - Replaced some constants with constexpr
473 
474 August 12, 2021 I. Hrivnacova (analysis-V10-07-10)
475 - Replaced the explicit Write[Hn|Pn] functions in the analysis managers
476   by a common implementation in G4ToolsAnalysisManager::WriteImpl() and Merge()
477   using the new Hn file manager classes introduced for the generic file manager
478   last year.
479   The same code is now used for writing histograms/profiles by specific analysis managers and the generic analysis manager.
480 - Added new G4ToolsAnalysisManager::IsEmpty() function
481 - Removed trailing whitespaces
482 
483 August 6, 2021 I. Hrivnacova (analysis-V10-07-09)
484 - Added new G4VAnalysisReader public function
485     G4bool CloseFiles(G4bool reset = true);
486   to be called by user before the end of program
487   and its implementation for all readers.
488   This prevents from errors in the Hdf5 read test
489   after migration of the readers to G4ThreadLocalSingleton.
490 
491 July 19, 2021 I. Hrivnacova (analysis-V10-07-08)
492 - Migration to G4ThreadLocalSingleton:
493   in all specific analysis manager and reader classes.
494   After this migration the singleton instances are deletes
495   by the Geant4 kernel, that's why their deleting has to be
496   removed from the client code.
497 - Removed isMaster argument from managers/reders constructors,
498   and retrieve this info from G4Threading where needed.
499 
500 July 15, 2021 I. Hrivnacova (analysis-V10-07-07)
501 - Replaced G4Analysis::make_unique with std::make_unique
502 - Using [[maybe_unused]] where appropriate
503 
504 June 29, 2021 G. Cosmo (analysis-V10-07-06)
505 - Fixed compilation errors in G4CsvAnalysisReader and G4XmlAnalysisReader
506   occurring with c++20 enabled.
507 
508 May 25, 2021 B. Morgan (analysis-V10-07-05)
509 - Move fonts/ directory and install logic to g4tools external, as prime interface
510   to Freetype.
511 
512 March 30, 2021 B. Morgan (analysis-V10-07-04)
513 - Migrate build to modular CMake API
514 
515 February 26, 2021 I. Hrivnacova (analysis-V10-07-03)
516 - Fixed ntuple indexing when FinishNtuple is called in different order
517   than CreateNtuple.
518   Addressing the problem report #2335.
519 
520 February 18, 2021 B. Morgan (analysis-V10-07-02)
521 - Move g4tools to externals category
522 
523 February 2, 2021 I. Hrivnacova (analysis-V10-07-01)
524 - Fixed the problem with merging ntuples with columns of vector type
525   reported by Riccardo Pilato in G4 Forum.
526 
527 January 5, 2021 I. Hrivnacova (analysis-V10-07-00)
528 - Updated to g4tools 5.2.3 (Guy Barrand):
529   Bug fix in tools/histo/h2,h3 : get_bin_content(): have '&' in "get" arguments.
530   Addressing the problem report #2306.
531   See History_tools for the complete list of modifications.
532 
533 November 16, 2020 G. Cosmo (analysis-V10-06-11)
534 - Fixed typos in printed-out text. Addressing problem report #2285.
535 
536 November 12, 2020 B. Morgan (analysis-V10-06-10)
537 - Apply typo fixes from Gurkan Myczko (https://github.com/Geant4/geant4/pull/15)
538 
539 November 10, 2020  I. Hrivnacova (analysis-V10-06-09)
540 - Fixed the memory leak reported by valgrind in deleting files
541 
542 November 06, 2020  I. Hrivnacova (analysis-V10-06-08)
543 - Make GenericAnalysisManager working with file names without extension
544   (needed for backward compatibility):
545   - Added fDefaultType data member and its setter, getter (with "root" default)
546 - Fixed deleting empty files
547 - Fixed minor memory leaks
548 
549 November 04, 2020  I. Hrivnacova (analysis-V10-06-07)
550 - Changes to allow overriding Root classes in g4mpi/analysis
551 - Removed redundant variable in G4RootNtupleFileManager::Reset()
552 
553 October 30, 2020  I. Hrivnacova (analysis-V10-06-06)
554 - Implemented writing ntuples in multiple files of the same output type:
555   - New G4VAnalysisManager function:
556       void SetNtupleFileName(G4int objectId, const G4String& name);
557     and UI commands:
558       /analysis/ntuple/setFileName id fileName
559       /analysis/ntuple/setFileNameToAll fileName
560 - Finalizes implementation of extra write of histograms
561   - Polished G4GenericAnalysisManager::WriteH1 and added
562     functions for other Hn types
563 - This also fixes issues in the ntuple output introduced with previous tag
564   (observed in B4, TestEm1, microbeam)
565 
566 October 21, 2020  I. Hrivnacova (analysis-V10-06-05)
567 - Major upgrade including the support for multiple files
568   and multiple output types:
569   - New G4GenericAnalysisManager,G4GenericFileManager classes
570     if factory category
571   - New G4VAnalysisManager functions:
572      void SetH1FileName(G4int objectId, const G4String& name);
573         ... etc. for H2, H3, P1, P2
574     and corresponding UI commands:
575      /analysis/h1/setFileName id name
576      /analysis/h1/setFileName id name
577         ... etc. for h2, h3, p1, p2
578   - Redesign of management classes to separate object file handling
579     from output specifuc analysis managers
580   - The multiple file output is tested in new test32
581 
582 October 14, 2020  I. Hrivnacova (analysis-V10-06-04)
583 - Updated G4PlotManager.cc - using new wrap_viewplot_fonts_google_style
584   header
585 - Updated to g4tools 5.2.1 (Guy Barrand):
586   - Change the usage of arialbd.ttf, helvetica.ttf with roboto_bold.ttf
587     and lato_regular.ttf (google fonts).
588   - Modifications in tools/hdf5 to use H5free_memory() instead free() at
589     some places (needed for HDF5/1.12.0).
590   - Modifations in graphics to be be in sync with the code in inlib/exlib
591     around Apple/Metal, but they should not have an impact on offscreen plotting.
592   See History_tools for the complete list of modifications.
593 
594 June 10, 2020  J. Madsen (analysis-V10-06-03)
595 - (bug-fix) Added a null-pointer check to ntupleDescription->fNtuple in
596   G4RootPNtupleManager::Merge. This happened during testing of new
597   G4TaskRunManager in basic/B5, which defaults to a higher
598   number of threads than G4MTRunManager.
599 
600 May 22, 2020   I. Hrivnacova (analysis-V10-06-02)
601 - Updated to g4tools 5.1.0 (Guy Barrand):
602   Corrections to handle automatic min/max axes values in case of log scale.
603   See History_tools for the complete list of modifications.
604 
605 April 29, 2020   G. Folger (analysis-V10-06-01)
606 - (trivial) fix for clang10, affects header g4tools/include/tools/gl2ps
607 
608 December 9, 2019 B. Morgan (analysis-V10-06-00)
609 - Cleanup CMake build, removing obsolete granular library options and
610   explicit include_directories.
611 - Update granular dependencies in preparation for modularization
612 - Remove uneeded links to externals in factory
613 
614 December 3, 2019 I. Hrivnacova (analysis-V10-05-13)
615 - Use consistently the same default value of rowMode
616   in G4RootAnalysisManager::SetNtupleRowWise() as defined in the
617   G4VAnalysisManager base class.
618 
619 November 19, 2019 G. Cosmo (analysis-V10-05-12)
620 - Fixed more cases of implicit type conversions.
621 
622 November 17, 2019 I. Hrivnacova (analysis-V10-05-11)
623 - Updated to g4tools 5.0.5 (Guy Barrand):
624   Fixed compilation warning from gl2ps showing up on gcc-9.2.
625   See History_tools for the complete list of modifications.
626 
627 November 15, 2019 G. Cosmo (analysis-V10-05-10)
628 - Fixed cases of implicit type conversions from size_t to G4int.
629 
630 November 11, 2019 B. Morgan (analysis-V10-05-09)
631 - Link directly to FreeType and HDF5 impormted targets
632 
633 November 8, 2019 I. Hrivnacova (analysis-V10-05-08)
634 - In G4PlotManager: Disabled PAW encoding
635   (this fixes a problem with unwanted axis labels in Greek)
636 - Updated to g4tools 5.0.4 (Guy Barrand):
637   - sg/plotter: added function set_encoding(), set_encoding_none() which allow
638     to disable (unwanted) paw specific encoding
639   - Fixed Coverity warnings
640 
641 October 21, 2019 I. Hrivnacova (analysis-V10-05-07)
642 - Added fRowWise data member in G4RootNtupleManager to make the parameter
643   available in MPI
644 
645 October 17, 2019 I. Hrivnacova (analysis-V10-05-06)
646 - Updated to g4tools 5.0.2 (Guy Barrand):
647   Handle axis label of format "10^%d?" in case of freetype font.
648 
649 October 14, 2019 I. Hrivnacova (analysis-V10-05-05)
650 - Enhanced the G4VAnalysisManager interface:
651   - Added new option for ntuple merging and updated/added functions for merging:
652     - SetNtupleMerging(): removed rowWise and basketSize optional paremeters
653     - SetNtupleRowWise(): added parameter 'rowMode' with a default value
654     - SetBasketSize(), SetBasketEntries(): new methods
655   - Added functions and UI commands for setting axis log scale for plotting:
656     - Set[H,P][1,2,3][X,Y.Z]AxisIsLog()
657       and analoguos getters
658     - New UI commands
659       /analysis/[h,p][1,2,3]/set[X,Y,Z]axisLog true|false
660 - Fix in g4tools for axis labels with log scale
661 
662 October 9, 2019 I. Hrivnacova (analysis-V10-05-04)
663 - Updated to g4tools 5.0.1 (Guy Barrand):
664   - ROOT format : restore a "per event/row view" for the ntuple column-wise in MT and MPI.
665   - batch plotting : fixes to avoid labels overlap when having a grid of plotters.
666   - MPI : fix a memory leak.
667   - scene graph : have material for interactive plotting.
668   - include modifications coming from other usage of inlib/exlib, for example, in rroot, to be able to read TClonesArray.
669   See History_tools for the complete list of modifications.
670 
671 September 24, 2019 I. Hrivnacova (analysis-V10-05-03)
672 - Fix in g4tools:
673   - mpi_create_basket: fixed memory leak (Guy Barrand)
674 
675 September 10, 2019 I. Hrivnacova (analysis-V10-05-02)
676 - Added new factory function G4Analysis::ManagerInstance():
677   which allows to create the analysis manager of the type selected via a string argument; example of the user code:
678   #include "g4analysis.hh"
679   G4AnalysisManager* analysisManager = G4Analysis::ManagerInstance("root");
680 
681   Note that G4AnalysisManager is in this case G4ToolsAnalysisManager, and not
682   the output type specific manager (eg. G4RootAnalysisManager), as it is
683   in case of using a type specific include, eg. "g4root.hh"
684 
685   Details:
686   - Added new analysis sub-category "factory"
687   - Clean-up analysis type definitions:
688     G4Hn*, G4Pn* types moved out of type specific namespace
689   - Added methods for setting ntuple merge mode in G4VAnalysisManager
690     with a default implementatation (issuing a warning if merging is not available)
691 
692 June 12, 2019 I. Hrivnacova (analysis-V10-05-01)
693 - Fixed CSV, XML ntuple file names
694 
695 March 11, 2019 G. Cosmo (analysis-V10-05-00)
696 - Fixed typos in printouts in G4P1Messenger, G4PlotMessenger, G4PlotParameters.
697 
698 November 28, 2018 I. Hrivnacova (analysis-V10-04-10)
699 - Use the same mutex in Root pntuple add_row and end_fill.
700   This should fix occassional failures of tests in MT mode.
701 
702 November 21, 2018 I. Hrivnacova (analysis-V10-04-09)
703 - Added G4RootAnalysisManager::SetNtupleRowWise(G4bool rowWise):
704   this allows to choose rowWise/columnWise mode also in sequential mode
705 - Added "boolean reset" argument in G4AnalysisManager::CloseFile() function:
706   this allows to close a file without resetting data
707   (used in MPI example)
708 - Allow overriding selected functions in G4RootAnalysisManager, G4RootNtupleManager
709   and G4TNtupleManager: needed for an external implementation of MPI ntuple merging
710   in MPI examples
711 
712 November 9, 2018 G. Cosmo (analysis-V10-04-08)
713 - tools/hatcher.icc: fixed printout typos.
714 
715 November 7, 2018 I. Hrivnacova (analysis-V10-04-07)
716 - Fixed creating ntuples after OpenFile for other then Root formats
717 
718 October 11, 2018 I. Hrivnacova (analysis-V10-04-06)
719 - Switched the default Root ntuple merge mode to rowWise
720 - Added friend class declarations to allow an implementation
721   of MPI ntuple merging in the MPI example
722 
723 October 11, 2018 I. Hrivnacova (analysis-V10-04-05)
724 - Modified management of plotting:
725   G4PlotManager is now instantiated with G4AnalysisManager what makes
726   possible to remove static G4PlotParameters.
727   (This fixes the problem report ##2083.)
728 
729 September 12, 2018 I. Hrivnacova (analysis-V10-04-04)
730 - Fixed the default value of rowWise argument (false)
731   in G4RootAnalysisManager::SetNtupleMerging().
732 - Updated G4TNtupleManager::FinishTNtuple to support creating ntuples
733   both before and after OpenFile.
734 
735 May 25, 2018 I. Hrivnacova (analysis-V10-04-03)
736 - Updated to g4tools 4.2.3 (Guy Barrand):
737   Fixed remaining gcc-8.1.0 warnings.
738   See History_tools for the complete list of modifications.
739 
740 May 23, 2018 I. Hrivnacova (analysis-V10-04-02)
741 - Updated to g4tools 4.2.2 (Guy Barrand):
742   Fixed gcc-8.1.0 warnings.
743   See History_tools for the complete list of modifications.
744 
745 February 15, 2018 J. Madsen (analysis-V10-04-01)
746 - Fixed a deadlock issue with G4RootPNtupleManager where the mutex
747   was locked before being passed to ROOT
748 
749 December 21, 2017 G. Cosmo (analysis-V10-04-00)
750 - Fixed self-consistency in headers (missing #include) in G4BaseAnalysisManager,
751   and G4PlotManager.
752 
753 November 16, 2017 I. Hrivnacova (analysis-V10-03-17)
754 - Updated to g4tools 4.2.1 (Guy Barrand):
755   Coverity fixes.
756   See History_tools for the complete list of modifications.
757 
758 November 2, 2017 I. Hrivnacova (analysis-V10-03-16)
759 - Fixed compilation warning
760 
761 October 25, 2017 I. Hrivnacova (analysis-V10-03-15)
762 - Updated to g4tools 4.2.0 (Guy Barrand):
763   Changes in wroot, rroot in order to handle row wise ntuple in case of MT or MPI.
764   See History_tools for the complete list of modifications.
765 - Added rowWise option to G4RootAnalysisManager::SetNtupleMerging()
766 
767 October 19, 2017 I. Hrivnacova (analysis-V10-03-14)
768 - Fixed compiler warning in G4Hdf5FileManager.cc
769 
770 September 26, 2017 I. Hrivnacova (analysis-V10-03-13)
771 - Updated to g4tools 3.7.0 (Guy Barrand):
772   - Update in colorf, colors to make possible to use the tools/colors color
773     table in G4Colour class.
774   - Coverity fixes graphics/plotting code.
775   See History_tools for the complete list of modifications.
776 
777 September 11, 2017 I. Hrivnacova (analysis-V10-03-12)
778 - Fixed generating file name on workers (adding _tN extension).
779   (The problem was reported in analysis category in hypernews as item #537.)
780 
781 August 3, 2017 I. Hrivnacova (analysis-V10-03-11)
782 - Updated to g4tools 3.6.0 (Guy Barrand):
783   Fixing problems introduced in previous version.
784   See History_tools for the complete list of modifications.
785 
786 August 1, 2017 I. Hrivnacova (analysis-V10-03-09, 10)
787 - Several fixes in hdf5
788 - Updated to g4tools 3.5.0 (Guy Barrand):
789   Coverity fixes and test/cpp/hdf5_threads.cpp program.
790   See History_tools for the complete list of modifications.
791 
792 July 27, 2017 I. Hrivnacova (analysis-V10-03-08)
793 - Adding support for Hdf5
794 - Updated to g4tools 3.4.0 (Guy Barrand):
795   See History_tools for the complete list of modifications.
796 
797 July 21, 2017 I. Hrivnacova (analysis-V10-03-07)
798 - Updated to g4tools 3.3.0 (Guy Barrand):
799   Adding support for HDF5, improved tests.
800   See History_tools for the complete list of modifications.
801 
802 July 21, 2017 I. Hrivnacova (analysis-V10-03-06)
803 - Fixing remaining compilation warnings (gcc)
804 
805 July 21, 2017 I. Hrivnacova (analysis-V10-03-05)
806 - Fixing compilation warnings (gcc53)
807 
808 July 20, 2017 I. Hrivnacova (analysis-V10-03-04)
809 - Code improvements:
810   - Moved common implementation from G4V[R]NtupleManager in
811     new G4Base[R]NtupleManager classes
812   - Introduced G4TRNtupleDescription, G4TRNtupleManager template classes
813   - Always create an ntuple from ntuple booking (removed usage of
814     ntupel::create_column)
815   - Added an optional directoryName argument in Read[Hn][Pn][Ntuple]
816     functions in G4VAnalysisReader (needed for HDF5)
817 
818 April 12, 2017 I. Hrivnacova (analysis-V10-03-03)
819 - Corrected handling of open file failure
820   (This fixes problem report #1957.)
821 
822 March 14, 2017 I. Hrivnacova (analysis-V10-03-02)
823 - Added GetP[1,2]Id(const G4String&) functions to
824   the G4AnaysisManager public interface.
825   (This fixes problem report #1949.)
826 
827 March 03, 2017 I. Hrivnacova (analysis-V10-03-01)
828 - Fixed problem of removing non-empty ntuple files
829   in user application where ntuples are created after
830   open file.
831   (This mode is used in dna examples, eg. dnaphysics.)
832 
833 February 24, 2017 I. Hrivnacova (analysis-V10-03-00)
834 - Restored clean-up of Root empty files in MT mode
835   (which was lost with previous updates)
836 
837 November 17, 2016 I. Hrivnacova (analysis-V10-02-25)
838 - Fixed compiler warning issued when G4VERBOSE is not set.
839 - Updated to g4tools 2.3.0 (Guy Barrand):
840   Adding methods to tools/impi for passing ntuple data.
841   See History_tools for the complete list of modifications.
842 
843 November 03, 2016 I. Hrivnacova (analysis-V10-02-24)
844 - Updated to g4tools 2.2.0 (Guy Barrand):
845   Coverity fixes,
846   See History_tools for the complete list of modifications.
847 - Added prefix, postfix increment operators to G4Accumulable
848 
849 October 30, 2016 I. Hrivnacova (analysis-V10-02-23)
850 - Simplified G4RootAnalysisManager::GetNtupleFileNumber() to avoid using
851   G4Threading::GetNumberOfRunningWorkerThreads() which seems to be failing
852   on gcc and icc plaftorms
853 - Added temporary debug printing from this method
854 
855 October 28, 2016 I. Hrivnacova (analysis-V10-02-22)
856 - Merging ntuples in a selected number of output files
857 
858 October 24, 2016 I. Hrivnacova (analysis-V10-02-21)
859 - Set back not merging ntuples by default.
860 - Fixed resetting ntuples (which was failing in case when
861   a new file is written per event and ntuples are created
862   after file is open (examples/advanced/gammaray_telescope
863   use case).
864 
865 October 14, 2016 I. Hrivnacova (analysis-V10-02-20)
866 - Merging ntuples improvements:
867   - now working also when ntuples are booked after OpenFile (use case in AnaEx01)
868   - use directory if directory name is set
869   - added basketSize parameter in the SetNtupleMerging() public function
870 
871 October 10, 2016 I. Hrivnacova (analysis-V10-02-19)
872 - Do not merge ntuples by default.
873   Merging ntuples requires the application to call CreateNtuple both on master
874   and workers, what is not done in all examples.
875 
876 October 08, 2016 I. Hrivnacova (analysis-V10-02-18)
877 - Disabled code using the number of threads in G4RootAnalysisManager
878   untill this function is available in G4Threading;
879   user setting of numbert of reduced ntuple files is ignored.
880 
881 October 08, 2016 I. Hrivnacova (analysis-V10-02-17)
882 - Fixed case in included file name
883 
884 October 08, 2016 I. Hrivnacova (analysis-V10-02-16)
885 - Implemented merging of ntuples in MT mode:
886   - Added G4RootAnalysisManager::SetMerging(G4bool mergeNtuples, G4int nofReducedNtupleFile)
887   - Added G4RootPNtupleManager, G4RootMainNtupleManager classes
888 - Updated to g4tools 2.1.0 (Guy Barrand)
889   For parallel ntuple : handle properly the user std::vector for column of vector.
890   See History_tools for the complete list of modifications.
891 
892 October 3, 2016 I. Hrivnacova (analysis-V10-02-15)
893 - Removing dependencies of accumulables on other analysis categories
894 
895 October 3, 2016 G. Cosmo (analysis-V10-02-14)
896 - Fixed again GNUmakefile in "accumulables" module...
897 
898 September 30, 2016 I. Hrivnacova (analysis-V10-02-13)
899 - Updated to g4tools 2.0.0 (Guy Barrand)
900   Added parallel ntuple : on a same booked nutple, pass baskets from threads
901   or mpi ranks to a "main ntuple" tied to a file.
902   See History_tools for the complete list of modifications.
903 
904 September 27, 2016 G. Cosmo (analysis-V10-02-12)
905 - Fixed GNUmakefile in new "accumulables" module.
906 
907 September 26, 2016 I. Hrivnacova (analysis-V10-02-11)
908 - Renamed G4Parameter in G4Accumulable (as suggested in CM in Ferrara)
909   including all related classes and the subdirectory parameters
910   in accumulables
911 
912 September 8, 2016 I. Hrivnacova (analysis-V10-02-10)
913 - Enable creating/configurion profiles without cut values (vmin, vmax).
914   This feature was disabled by a check for the values in G4VAnalysisManager;
915   these values are now treated in a special way.
916 - Fixed duplicating Csv ntuple header
917 
918 September 6, 2016 I. Hrivnacova (analysis-V10-02-09)
919 - Fixed writing CSV profiles
920   (to be propagated in the patch to 10.2)
921 
922 July 4, 2016 I. Hrivnacova (analysis-V10-02-08)
923 - Adding missing inline keyword to functions defined in
924   G4ParameterManager.icc
925 
926 June 24, 2016 I. Hrivnacova (analysis-V10-02-07)
927 - Fixing compilation with gcc: added missing include <functional>
928 
929 June 23, 2016 I. Hrivnacova (analysis-V10-02-06)
930 - Extended and improved current implementation of parameters:
931   - The parameters names are optional
932   - Extended merge mode with kMaximum, kMinimum
933     and removed kUser (not needed anymore)
934   - Added access to paremeters via iterators and ids
935     (defined by the order of registering)
936   - Introduced G4MergeFunction<T> type and apply merging via a function
937     defined accorting to the merge mode
938     (thanks to Jonathan Madsen for providing an example of the code)
939 - Return 0. instead of 0 when the return type is double
940 - Return nullptr instead of 0
941 
942 June 7, 2016 I. Hrivnacova (analysis-V10-02-05)
943 - Updated to g4tools 1.27.4 (Guy Barrand):
944   Fixed remaining Windows-64 compiler warnings.
945   See History_tools for the complete list of modifications.
946 
947 June 3, 2016 I. Hrivnacova (analysis-V10-02-04)
948 - Updated to g4tools 1.27.3 (Guy Barrand):
949   Fixed Windows-64 compiler warnings.
950   See History_tools for the complete list of modifications.
951 
952 May 25, 2016 I. Hrivnacova (analysis-V10-02-03)
953 - Updated to g4tools 1.27.2 (Guy Barrand):
954   Fixed Mac OSX compiler warnings.
955 
956 May 4, 2016 I. Hrivnacova (analysis-V10-02-02)
957 - Updated to g4tools 1.27.1 (Guy Barrand):
958   Fixed gcc 6.1 compiler warnings.
959 
960 April 18, 2016 I. Hrivnacova (analysis-V10-02-01)
961 - Updated to g4tools 1.27.0 (Guy Barrand):
962   Fixed incompatibility with ROOT 5.x and 6.x formats reported in ROOT forum:
963   https://root.cern.ch/phpBB3/viewtopic.php?t=21315
964 
965 December 8, 2015 I. Hrivnacova (analysis-V10-02-00)
966 - Fixed definition of /analysis/ntuple command directory
967   which was created implicitly with the commands and so
968   defined without a guideline and not deleted
969 
970 November 25, 2015 I. Hrivnacova (analysis-V10-01-47)
971 - Adding GNUmakefile in parameters sub-category
972 
973 November 25, 2015 I. Hrivnacova (analysis-V10-01-46)
974 - Updated GNUmakefile for added parameters sub-category
975 
976 November 20, 2015 I. Hrivnacova (analysis-V10-01-45)
977 - Fix compiler warning about unused parameter 'size' observed on MacOS/clang
978   (Guy Barrand)
979 
980 November 6, 2015 I. Hrivnacova (analysis-V10-01-44)
981 - Fixed default viewer settings and finalized supported plotting
982   configurations:
983   - Updated to  g4tools 1.26.2 (G. Barrand):
984     - See History_tools for the complete list of modifications.
985   - Extended viewplot.cpp with a test which mimics usage in analysis category
986   - Set limits for layout parameters which can be changed via UI commands
987 
988 November 3, 2015 I. Hrivnacova (analysis-V10-00-46)
989 - Fixed handling ntuples created in MT mode on master thread
990   This fixes the problem reported in hypernews (#495) and the problem
991   of deleting non-empty Root file containing only ntuples.
992 
993 November 2, 2015 I. Hrivnacova (analysis-V10-01-43)
994 - Fixed G4Parameter constructor
995 
996 Oct 30, 2015 I. Hrivnacova (analysis-V10-01-42)
997 - Fixed handling ntuples created in MT mode on master thread
998   This fixes the problem reported in hypernews (#495) and the problem
999   of deleting non-empty Root file containing only ntuples.
1000 
1001 Oct 22, 2015 I. Hrivnacova (analysis-V10-01-41)
1002 - Updated to g4tools 1.26.0 (Guy Barrand):
1003   with added support for using freetype rendering in plotting
1004   See History_tools for the complete list of modifications.
1005 - Implemented support for freetype in G4PlotManager
1006 - Added G4PlotParameters and G4PlotMessenger classes which
1007   define the plot configuration parameters that can be set via UI
1008   commands
1009 - Removed unused include of G4PlotManager in hntools/src/G4ToolsAnalysisReader.cc
1010 
1011 Sep 23, 2015 I. Hrivnacova (analysis-V10-01-40)
1012 - Fixed compiler warning
1013 
1014 Sep 23, 2015 I. Hrivnacova (analysis-V10-01-39)
1015 - Added  G4AnalysisOutput type (as class enum) and
1016   G4AnalysisManager functions needed to connect analysis to Geant4 scorers:
1017     static G4bool IsInstance();
1018     G4bool IsOpenFile() const;
1019 - Two more minor fixes
1020 
1021 Sep 21, 2015 I. Hrivnacova (analysis-V10-01-38)
1022 - Implemented setPlotting commands and added G4HnManager::SetPlotting() function
1023   to set plotting to all objects
1024 - Fixed false warning issued from G4TNtupleManager
1025 - Fixed plotting in more pages
1026 
1027 Sep 18, 2015 I. Hrivnacova (analysis-V10-01-37)
1028 - Fixed return value also in FillNtupleTColumn() in G4TNtupleManager.icc
1029 
1030 Sep 18, 2015 I. Hrivnacova (analysis-V10-01-36)
1031 - Fixed return value in FillNtupleTColumn() in G4RootNtupleManager.hh
1032 
1033 Sep 18, 2015 I. Hrivnacova (analysis-V10-01-35)
1034 - Updated to g4tools 1.24.2 (Guy Barrand):
1035   - tools/wcsv_ntuple, tools/wroot/ntuple : have class icol public.
1036   - tools/mpi/wrmpi : fixed use of TOOLS_USE_MPI_PACK_NOT_CONST
1037   - See History_tools for the complete list of modifications.
1038 - Use tools ntuple column base type (icol, iobj), which access is now enabled in tools,
1039   to avoid casting to/from void* and type check in FillNtupleXColumn (where both column type and
1040   column Id must be consistent with ntuple definition)
1041 - Simplified definitions of G4TNtupleManager pure virtual functions
1042 
1043 Sep 16, 2015 I. Hrivnacova (analysis-V10-01-34)
1044 - In G4TNtupleManager::FillNtupleTColumn:
1045   changed Tvalue in const T& value to match exactlly with fill()
1046   functions in tools
1047 
1048 Sep 15, 2015 I. Hrivnacova (analysis-V10-01-33)
1049 - Do not delete ntuple with Root output type
1050 
1051 Sep 14, 2015 I. Hrivnacova (analysis-V10-01-32)
1052 - One more fix in G4RootNtupleManager - exact match of arguments in
1053   template specialization
1054 
1055 Sep 14, 2015 I. Hrivnacova (analysis-V10-01-31)
1056 - Added declaration for template specializations in G4RootNtupleManager.hh;
1057   Trying to fix vc12 compiler error:
1058   'none of the 5 overloads could convert all the argument types'
1059 
1060 Sep 14, 2015 I. Hrivnacova (analysis-V10-01-30)
1061 - Added scope G4Analysis:: to all calls to make_unique
1062   (to avoid ambiguity error on vc12 with std::make_unique )
1063 
1064 Sep 14, 2015 I. Hrivnacova (analysis-V10-01-29)
1065 - Replaced constexpr (not supported on vc12) with const definitions
1066 
1067 Sep 12, 2015 I. Hrivnacova (analysis-V10-01-28)
1068 - Removed G4CsvNtupleManager.icc file, not used
1069 
1070 Sep 11, 2015 I. Hrivnacova (analysis-V10-01-27)
1071 - Fixed compilation warnings about unused variables
1072 
1073 Sep 11, 2015 I. Hrivnacova (analysis-V10-01-26)
1074 - Fixed compilation with gcc 5.1:
1075   Added #include <memory> where missing
1076 
1077 Sep 11, 2015 I. Hrivnacova (analysis-V10-01-25)
1078 Merged developments from analysis_c++11 branch:
1079 - Introduced C++11 features
1080 - Added classes for common handling of tools objects
1081   to avoid code duplication:
1082   - G4ToolsAnalysisManager, ToolsAnalysisReader; G4THnAnalysisManager (templated)
1083   - Improved G4XNtupleManager classes:
1084     - Introduced template functions to avoid code duplication and added
1085       G4TNtupleManager class template with a common implementation
1086       for all output types
1087 - G4BaseToolsManager class replaced with G4Analysis namespace utility functions,
1088   defined in G4BaseHistoUtilies
1089 - Added new sub-category parameters
1090   with first implementation of G4ParameterManager (still to be finalized)
1091 
1092 Sep 03, 2015 I. Hrivnacova (analysis-V10-01-24)
1093 - Updated to g4tools 1.24.1 (Guy Barrand):
1094   Added ability to handle old MPI_[Pack,UnPack] signature;
1095   make whbook.cpp test compiling with tools in Geant4;
1096   Coverity fixes.
1097   See History_tools for the complete list of modifications.
1098 
1099 Aug 27, 2015 I. Hrivnacova (analysis-V10-01-23)
1100 - Removed profile directory; the profiles are put in the histograms directory,
1101   if its name is set by the user.
1102 
1103 Aug 17, 2015 I. Hrivnacova (analysis-V10-01-22)
1104 - Updated exception_classification:
1105   Added Analysis_W041: Requested feature is not available with selected output.
1106 
1107 Aug 12, 2015 I. Hrivnacova (analysis-V10-01-21)
1108 - Fixed parameter range in setAscii command
1109   (thanks to Mihaly Novak for reporting this problem)
1110 
1111 Jul 01, 2015 I. Hrivnacova (analysis-V10-01-20)
1112 - Updated to g4tools 1.23.1 (Guy Barrand):
1113   Finalize interfaces to MPI;
1114   prepare the ground for plot style files.
1115   See History_tools for the complete list of modifications.
1116 - Added G4VAnalysisManager::Merge(tools::histo::hmpi*)
1117   and G4MMPIToolsManager class which implements histogram & profiles
1118   MPI merging using tools/histo/hmpi interface
1119 
1120 Jun 23, 2015 I. Hrivnacova (analysis-V10-00-45)
1121 - Fixed G4Analysis::Tokenize() which was failing when processsing a string
1122   containing opening double quota without a closing one.
1123 
1124 Jun 23, 2015 I. Hrivnacova (analysis-V10-01-19)
1125 - Revised while loops and fixed G4Analysis::Tokenize()
1126 
1127 Jun 10, 2015 I. Hrivnacova (analysis-V10-01-18)
1128 - Make new functions SetNtupleSColumn() in G4VRNtupleManager
1129   pure virtual.
1130 
1131 Jun 03, 2015 I. Hrivnacova (analysis-V10-01-17)
1132 - Updated to g4tools 1.22.1 (Guy Barrand):
1133      Revisit structure for plotting related code.
1134      Added methods for writing multiple pages in a file.
1135 - Integrated changes in g4tools:
1136   generating a single plot file with multiple pages.
1137 
1138 Jun 03, 2015 I. Hrivnacova (analysis-V10-01-16)
1139 - Added functions for batch plotting:
1140   o to activate batch plotting of a selected hitsogram/profile:
1141     analysisManger->SetH1Plotting(id, true);
1142   o the output .ps file is then create on Write() call
1143     in addition to standard output files
1144   o Plotting available for  1D, 2D histograms
1145 - Updated to g4tools 1.21.0 (Guy Barrand):
1146      Revisit #include paths to avoid too much -I when compiling.
1147 
1148 May 19, 2015 I. Hrivnacova (analysis-V10-01-15)
1149  - Updated to g4tools 1.20.0 (Guy Barrand):
1150    Added "batch plotting" facility.
1151 
1152 May 6, 2015 I. Hrivnacova (analysis-V10-01-14)
1153  - Fixed command directory names and code clean-up.
1154 
1155 May 6, 2015 I. Hrivnacova (analysis-V10-01-13)
1156  - Attempt to fix a compilation error on Windows:
1157    replaced use of string operator [] with substr()
1158 
1159 May 6, 2015 I. Hrivnacova (analysis-V10-01-12)
1160  - Attempt to fix a compilation error on Windows.
1161 
1162 May 5, 2015 I. Hrivnacova (analysis-V10-01-11)
1163  - Implemented activation of ntuples
1164  - Implemented setX,Y,Z commands for setting histograms/profiles
1165    parameters per dimensiion. They can be used as an alternative to the
1166    complex set commands.
1167    Note: The parameters per dimensions have to be set sucessively; eg.
1168    /analysis/h2/setX ...
1169    /analysis/h2/setY ...
1170    Incomplete or ordre-reverted setting will result in issuing a warning
1171    and will be ignored.
1172  - Restructured messenger classes to avoid code duplications.
1173 
1174 May 3, 2015 I. Hrivnacova (analysis-V10-01-10)
1175  - Implemented support for ntuple vector columns with Csv output
1176  - Added Set/GetCompressionLevel() functions to G4AnalysisManager
1177    (used only with Root output) and changed its default value to 1 (was 9))
1178 
1179 April 14, 2015 I. Hrivnacova (analysis-V10-01-09)
1180  - Updated to g4tools 1.19.2 (Guy Barrand):
1181    Fixed compilation on Mac, clang 3.4.
1182    See History_tools for the complete list of modifications.
1183 
1184 April 13, 2015 I. Hrivnacova (analysis-V10-01-08)
1185  - Updated to g4tools 1.19.1 (Guy Barrand):
1186    csv: handle vector column if using the ntuple_booking way
1187    See History_tools for the complete list of modifications.
1188 
1189 April 9, 2015 I. Hrivnacova (analysis-V10-00-44)
1190   tag to be included in the patch release:
1191 - Updated to g4tools 1.17.2 (Guy Barrand):
1192   Changes for Windows (MinGW) - fixing problem #1721 (mainly to change
1193   #ifdef WIN32 to #ifdef _MSC_VER, which more clean)
1194 
1195 April 02, 2015 I. Hrivnacova (analysis-V10-01-07)
1196  - Updated to g4tools 1.19.0 (Guy Barrand):
1197    - Csv handles vector columns
1198    - Changes for Windows (MinGW) - fixing problem #1721 (mainly to change
1199      #ifdef WIN32 to #ifdef _MSC_VER, which more clean)
1200    - Various optimisations to be faster in converting numbers to strings
1201      (huge improvements with that around csv and xml tuples)
1202    - See History_tools for the complete list of modifications.
1203 
1204 March 18, 2015 I. Hrivnacova (analysis-V10-00-43)
1205   tag to be included in the patch release:
1206 - Fixed reading XML ntuples with a column of a vector type
1207   tools do not support direct use of ntuple_bindings with a vector,
1208   use of a temorary sub-ntuple is needed
1209 
1210 March 17, 2015 I. Hrivnacova (analysis-V10-01-06)
1211 - Fixed reading XML ntuples with a column of a vector type
1212   tools do not support direct use of ntuple_bindings with a vector,
1213   use of a temorary sub-ntuple is needed
1214 
1215 March 13, 2015 I. Hrivnacova (analysis-V10-01-05)
1216 - Fixed false warnings about unknown column type when an ntuple contains
1217   a column of a vector type and is created via ntuple booking
1218 
1219 March 13, 2015 I. Hrivnacova (analysis-V10-01-04)
1220 - Fixed G4AnalysisManager::IsActive() - now taken into all Hn & Pn
1221   managers
1222 
1223 March 13, 2015 I. Hrivnacova (analysis-V10-00-42)
1224   tag to be included in the patch release:
1225 - Fixed G4AnalysisManager::IsActive() - now taken into all Hn & Pn
1226   managers
1227 
1228 February 20, 2015 I. Hrivnacova (analysis-V10-01-03)
1229 - Updated to g4tools 1.18.2 (Guy Barrand):
1230   Added code to send/recv histos through MPI;
1231   see History_tools for the complete list of modifications.
1232 
1233 February 04, 2015 I. Hrivnacova (analysis-V10-01-02)
1234 - Updated to g4tools 1.17.1 (Guy Barrand):
1235   Fixed resetting histograms;
1236   see History_tools for the complete list of modifications.
1237 
1238 January 21, 2015 I. Hrivnacova (analysis-V10-01-01)
1239 - Updated to g4tools 1.17.0 (Guy Barrand):
1240   Fixes in the Root files output to be compatible with ROOT 6.02/x;
1241   see History_tools for the complete list of modifications.
1242 
1243 December 5, 2014 G. Cosmo (analysis-V10-01-00)
1244 - Corrected csv/sources.cmake to include missing file:
1245     G4CsvAnalysisReader.icc
1246 
1247 November 24, 2014 I. Hrivnacova (analysis-V10-00-41)
1248 - Fixed update to g4tools 1.16.3:
1249   the update of g4tools/src/csz_inflate.cc with Coverity fix
1250   was missing
1251 
1252 November 07, 2014 I. Hrivnacova (analysis-V09-06-33)
1253 - Fixed createH2/setH2 commands implementation
1254   (was missing in the previous tag V09-06-32)
1255 
1256 November 06, 2014 I. Hrivnacova (analysis-V10-00-40)
1257 - Fixed Coverity defect also in Csv, Root ntuple and Xml rntuple managers
1258 
1259 November 05, 2014 I. Hrivnacova (analysis-V10-00-39)
1260 - Fixed Coverity defect in G4XmlNtupleManager
1261 
1262 October 27, 2014 I. Hrivnacova (analysis-V10-00-38)
1263 - Revised (and simplified) numbering of warnings in exception messages
1264 
1265 October 25, 2014 I. Hrivnacova (analysis-V10-00-37)
1266 - Updated to g4tools 1.16.3 (by G. Barrand):
1267   Fixed problem with csv reading on windows;
1268   see History_tools for complete list of modifications.
1269 
1270 October 22, 2014 I. Hrivnacova (analysis-V10-00-36)
1271 - Updated to g4tools 1.16.2 (by G. Barrand):
1272   modifs for example code to read csv ntuple by using ntuple_binding
1273   see History_tools for complete list of modifications.
1274 - Added writing commented header (default) for csv ntuple
1275 - Implemented reading csv ntuples
1276 - Removed H1, H2, P1 dummy manager classes and H3, P3 moved in
1277   hbook implementation in examples
1278 - Use kInvalidId instead of -1
1279 - Added checks for ntupleId in RNtupleManager classes
1280 
1281 October 22, 2014 I. Hrivnacova (analysis-V10-00-35)
1282 - Fixed compiler warning in tools/wroot/leaf:
1283   base class tools::wroot::ibo should be explicitly initialized in the copy constructor
1284 
1285 October 21, 2014 I. Hrivnacova (analysis-V10-00-34)
1286 - Updated to g4tools 1.16.1 (by G. Barrand):
1287   Fixed reading root ntuple with column of std::string type
1288   by using ntuple_binding.
1289   see History_tools for complete list of modifications.
1290 
1291 October 20, 2014 I. Hrivnacova (analysis-V10-00-33)
1292 - Updated to g4tools 1.16.0 (by G. Barrand)
1293   Write/read ntuple with std::string columns,
1294   see History_tools for complete list of modifications.
1295 - Implemented reading H3 for Root (now supported in tools)
1296 - Added functions for handling ntuple columns of std::string type
1297 - Added an option to write the Hippo header in csv ntuple output
1298   (default true)
1299 
1300 October 13, 2014 I. Hrivnacova (analysis-V10-00-32)
1301 - Fixed variable initialization in G4CsvAnalysisReader
1302 
1303 October 13, 2014 I. Hrivnacova (analysis-V10-00-31)
1304 - Do not include G4CsvRNtupleManager, which is not yet commited.
1305 
1306 October 07, 2014 I. Hrivnacova (analysis-V10-00-30)
1307 - Implemented G4CsvAnalysisReader: reading all histograms and profiles;
1308   ntuples noy yet done
1309 - Updated to g4tools 1.15.2 (by G. Barrand)
1310   Fixed reading csv histograms and profiles (rcsv_histo)
1311 
1312 September 30, 2014 I. Hrivnacova (analysis-V10-00-29)
1313 - Updated to g4tools 1.15.1 (by G. Barrand)
1314   Fixed reading histograms with titles of more words;
1315   see History_tools for complete list of modifications.
1316 
1317 September 30, 2014 I. Hrivnacova (analysis-V10-00-28)
1318 - Updated to g4tools 1.15.0 (by G. Barrand)
1319   See History_tools for complete list of modifications.
1320 
1321 September 18, 2014 I. Hrivnacova (analysis-V10-00-27)
1322 - Fixed units in /analysis/[h|p]n/create and /analysis/[h|p]n/set
1323   commands
1324 
1325 September 12, 2014 G. Cosmo (analysis-V10-00-26)
1326 - Fixed xml/GNUmakefile to add missing dependency on expat, to
1327   cover cases when internal expat is used or for WIN32 builds.
1328 
1329 September 12, 2014 I. Hrivnacova (analysis-V10-00-25)
1330 - Fixes in XML reader:
1331   - Added expat includes and libraries in xml sources.cmake
1332   - Removed unused function from G4XmlAnalysisReader
1333 
1334 September 11, 2014 I. Hrivnacova (analysis-V10-00-24)
1335 - Adding histograms and profiles support in Csv
1336 - Finalized G4VAnalysisReader interface:
1337   - Added reading P1, P2, H3
1338   - Modifications to fit to all outputs
1339   - Support for both user defined file names and "generic" file names
1340     (generated automatically by G4AnalysisManager from the base name)
1341 - Introduced G4BaseFileManager and separated implementation for
1342   output/input file managers
1343 - Implemented reading P1, P2 in G4RootAnalysisReader;
1344   prepared code for H3 which reading is not yet available in tools
1345 - Implemented G4XmlAnalysisReader (complete)
1346 - Fixed writing ntuples when more than one ntuple is defined (Xml)
1347 - Do not overwrite user defined file extension
1348 
1349 September 08, 2014 I. Hrivnacova (analysis-V10-00-23)
1350 - Updated to g4tools 1.14.0 (by G. Barrand):
1351   Fixed compiler warning (converting to unsigned int from double)
1352 
1353 September 04, 2014 I. Hrivnacova (analysis-V10-00-22)
1354 - Updated to g4tools 1.14.0 (by G. Barrand):
1355   See History_tools for complete list of modifications.
1356 
1357 September 02, 2014 I. Hrivnacova (analysis-V10-00-21)
1358 - Fixed Coverity defects:
1359   - Initialization of data members in G4VAnalysisManager
1360   - Provided assignment operator for G4HnDimensionInformation
1361 - Removed unused data member in G4HnDimensionInformation
1362 
1363 July 28, 2014 I. Hrivnacova (analysis-V10-00-20)
1364 - Removed unsused data member in G4P1DummyManager
1365 
1366 July 24, 2014 I. Hrivnacova (analysis-V10-00-19)
1367 - Added H3, P1 and P2
1368 - Added G4BaseToolsManager - common implementation for
1369   setters/getters related to axes annotations
1370 - Fixed applying unit to min, max values in H1, H2 managers
1371 - Issue the warning about not supported histograms/profiles only once per run
1372 
1373 July 23, 2014 I. Hrivnacova (analysis-V10-00-18)
1374 - Updated to g4tools 1.11.1 (by G. Barrand):
1375   Fixed problem on Windows with including windows.h.
1376 
1377 July 23, 2014 I. Hrivnacova (analysis-V09-06-32)
1378 - Fixed applying unit to min, max values in H1, H2 managers
1379 - Fixed createH2/setH2 commands implementation
1380 
1381 July 18, 2014 I. Hrivnacova (analysis-V10-00-17)
1382 - Updated to g4tools 1.11.0 (by G. Barrand):
1383   See History_tools for complete list of modifications.
1384 
1385 July 02, 2014 I. Hrivnacova (analysis-V10-00-16)
1386 - Replaced use of std::cout with G4cout in Root managers
1387   (to fix data race reported by A. Dotti)
1388 
1389 June 27, 2014 G. Cosmo (analysis-V10-00-15)
1390 - Get rid of obsolete 'register' keyword in csz_inflate.cc..
1391 
1392 June 12, 2014 I. Hrivnacova (analysis-V10-00-14)
1393 - Added typedefs and functions for accessing iterators
1394   over H1, H2, Ntuples;
1395   Usage:
1396    G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
1397    for (G4H1Iterator it = analysisManager->BeginH1();
1398                      it != analysisManager->EndH1(); it++ ) {
1399       G4H1* h1 = *it;
1400       // call any h1 function define in tools
1401     }
1402 - Added G4AnalysisManager functions to access FirstIds
1403   G4int GetFirst[H1|H2|Ntuple|NtupleColumn]Id() const;
1404 
1405 June 11, 2014 I. Hrivnacova (analysis-V10-00-13)
1406 - Restored hbook files lost with moving to g4tools 1.9.4
1407 
1408 June 04, 2014 I. Hrivnacova (analysis-V10-00-12)
1409 - Udated History with the descriptions of the tags analysis-V09-06-*
1410   applied from the analysis_10-00-patches branch.
1411 
1412 June 03, 2014 I. Hrivnacova (analysis-V09-06-31)
1413 - Do not remove Root base file if ntuples are in use
1414   (this addresses problem report #1633)
1415 
1416 May 16, 2014 I. Hrivnacova (analysis-V10-00-11)
1417 - Fixed Coverity defects.
1418 - Updated to g4tools 1.10.0 (by G. Barrand):
1419   See History_tools for complete list of modifications.
1420 
1421 April 25, 2014 I. Hrivnacova (analysis-V10-00-10)
1422 April 25, 2014 I. Hrivnacova (analysis-V09-06-30)
1423 - Fixed implementation of compound commands in G4H[1,2,n]Messenger classes
1424   using new G4AnalysisUtilities::Tokenize() function.
1425   This allows to pass multi-word strings within "" and fixes problem report
1426   #1616.
1427 - Fixed G4H2ToolsManager::SetH2YAxisTitle: set title to y-axis and not x-axis.
1428   This addresses problem report #1620.
1429 
1430 April 16, 2014 I. Hrivnacova (analysis-V09-06-29)
1431 - Do not allow creating objects with empty names
1432   (this addresses problem report #1579)
1433 
1434 April 14, 2014 I. Hrivnacova (analysis-V10-00-09)
1435 - Use G4Threading::IsMultithreadedApplication() instead of
1436   G4AnalysisManagerState::IsMT() (now removed);
1437   this function fixes files clean-up at the end of sequential
1438   application built against multi-threaded Geant4 libraries.
1439 
1440 April 14, 2014 I. Hrivnacova (analysis-V10-00-08)
1441 - Do not allow creating objects with empty names
1442   (this addresses problem report #1579)
1443 - Introduced independent numbering of warnings from reader
1444 - Renamed g4tools/src/inflate.cc in csz_inflate.cc to avoid confusion with
1445   zlib inflate.cc
1446 
1447 April 10, 2014 G. Cosmo (analysis-V10-00-07)
1448 - Corrected organisation of source files in g4tools sub-module to
1449   allow for building with GNUmake system:
1450   o Moved g4tools/src/csz/inflate.c to g4tools/src and renamed to inflate.cc.
1451   o Corrected main GNUmakefile for build order.
1452 
1453 April 10, 2014 I. Hrivnacova (analysis-V10-00-06)
1454 - Fixed GNUmakefile (Gabriele)
1455 
1456 April 10, 2014 I. Hrivnacova (analysis-V10-00-05)
1457 - Updated to g4tools 1.9.4 (by G. Barrand):
1458   See History_tools for complete list of modifications.
1459 - Added interface classes for reading:
1460     G4VAnalysisReader, G4VRNtupleManager
1461   and their implementation for Root:
1462     G4RootAnalysisReader, G4RootRNtupleManager
1463 
1464 March 12, 2014 I. Hrivnacova (analysis-V09-06-28)
1465 March 11, 2014 I. Hrivnacova (analysis-V10-00-04)
1466 - Fixed H1, H2 functions to access xmin, xmax and width
1467   (do not apply function and unit to return values)
1468 
1469 March 10, 2014 I. Hrivnacova (analysis-V09-06-27)
1470 - Fixed bug in /analysis/h1/setAscii command
1471   (introduced with refactoring messenger classes in analysis-V09-06-19)
1472 
1473 March 05, 2014 I. Hrivnacova (analysis-V10-00-03)
1474 - Fixed bug in /analysis/h1/setAscii command
1475   (introduced with refactoring messenger classes in analysis-V09-06-19)
1476 
1477 February 05, 2014 I. Hrivnacova (analysis-V10-00-02)
1478 - Updated tools ntuple_booking and ntuple classes from
1479   g4tools 1.9.0 (by G. Barrand) what should hopefully fix warnings issued
1480   on x86_64-slc5-gcc41.
1481 
1482 February 04, 2014 I. Hrivnacova (analysis-V10-00-01)
1483 - Adding new functions for ntuple columns of vectors
1484   in G4AnalysisManer:
1485     // Create columns of vector in the last created ntuple
1486     G4int CreateNtupleTColumn(
1487                 const G4String& name, std::vector<int>& vector);
1488     G4int CreateNtupleTColumn(G4int ntupleId,
1489                 const G4String& name, std::vector<int>& vector);
1490           where T can be I, F, T
1491 - Updated to g4tools 1.8.0 (by G. Barrand)
1492   See History_tools for complete list of modifications.
1493 
1494 January 21, 2014 I. Hrivnacova (analysis-V10-00-00)
1495 January 21, 2014 I. Hrivnacova (analysis-V09-06-26)
1496 - Updated to g4tools 1.7.1 (by G. Barrand):
1497   Fixed performance issue observed for an ntuple with large numbers of columns
1498   reported in item #455 in Geant4 hypernews, Analysis category.
1499   See History_tools for complete list of modifications.
1500 
1501 October 02, 2013 I. Hrivnacova (analysis-V09-06-25)
1502 - Do not call WriteH1[2]() when no histograms are defined.
1503   This allows to run application which uses only ntuples without
1504   a master instance of analysis manager.
1505 
1506 September 30, 2013 I. Hrivnacova (analysis-V09-06-24)
1507 - Removed static G4AnalysisManager::Create(G4bool isMaster) function
1508   (the master/worker is now identified automatically)
1509 - Removed instances counter and its mutex
1510 - Reimplemented  G4AnalysisManagerState::IsMT() with use of
1511   G4Threading functions
1512 - Removed virtual declaration for GetH1, GetH2, GetNtuple functions
1513   in manager classes (to follow NVI pattern)
1514 - Fixed installing of g4analysis_defs.hh  header
1515 - Fixed g4csv.hh (it was overwritten by mistake with g4csv_defs.hh)
1516 - Fixed g4csv_defs.hh (G4Ntuple is the ntuple type, and not a pointer)
1517 
1518 September 17, 2013 I. Hrivnacova (analysis-V09-06-23)
1519 - Use thread Id (now available) in generating file names instead
1520   of thread Pid.
1521 
1522 September 02, 2013 I. Hrivnacova (analysis-V09-06-22)
1523 - Updated to g4tools 1.7.0 (by G. Barrand):
1524   Fixed problem report #1523 (incorrect setting the list of free blocks
1525   in the ROOT file).
1526   See History_tools for complete list of modifications.
1527 
1528 September 02, 2013 I. Hrivnacova (analysis-V09-06-21)
1529 - Fixed saving binScheme in H2 information
1530 
1531 August 26, 2013 I. Hrivnacova (analysis-V09-06-20)
1532 - Fixed Coverity defects
1533   (missing copy constructor and assignment operator in G4VH1Manager
1534    and G4VH2Manager)
1535 
1536 August 26, 2013 A.Dotti (analysis-V09-06-19)
1537 - New interface for functions in G4Threading.hh,
1538   now in G4Threading namespace
1539   And also (I. Hrivnacova):
1540 - Added a possibility to define logarithmic binning for H1 and H2
1541 - Reorganized messenger classes per objects: they are now associated
1542   with the public interface (G4VAnalysisManager)
1543 - Fixed path to g4tools in test/build
1544 
1545 August 1, 2013 I.Hrivnacova (analysis-V09-06-18)
1546 - Fixed CMake build (added missing *.icc files in HEADERS);
1547   thanks to Mike Kelsey for pointing at this.
1548 
1549 July 15, 2013 I.Hrivnacova (analysis-V09-06-17)
1550 - Added set_property(...GEANT4_BUILDTREE_INCLUDE_DIRS) in
1551   g4tools/CMakeLists.txt
1552 
1553 July 15, 2013 I.Hrivnacova (analysis-V09-06-16)
1554 - Added GLOBAL_DEPENDENCIES lists in sources.cmake files
1555 
1556 July 15, 2013 I.Hrivnacova (analysis-V09-06-15)
1557 - Fixed dependencies on zlib
1558   (previous tag failed on linking error on Mac)
1559 
1560 July 15, 2013 I.Hrivnacova (analysis-V09-06-14)
1561 - Introduced subdirectories:
1562   csv, g4tools, hntools, management, root, xml
1563   and updated CMake & GNUmake files accordingly
1564 
1565 July 12, 2013 I.Hrivnacova (analysis-V09-06-13)
1566 - Fixed warnings on clang:
1567   Use struct keyword instead of class for forward declaration of structs.
1568 
1569 July 11, 2013 I.Hrivnacova (analysis-V09-06-12)
1570 - Refactoring manager classes:
1571   - Introduced managers per object types (H1, H2, Ntuple, File)
1572     and re-implemented G4VAnalysisManager as a composite of the objects
1573     managers
1574   - Removed enum G4VAnalysisManager::ObjectType and replaced related methods
1575     with methods per object type; eg.
1576       void  SetActivation(ObjectType type,  G4int id, G4bool activation);
1577     with
1578       void  SetH1Activation(G4int id, G4bool activation);
1579       void  SetH2Activation(G4int id, G4bool activation);
1580 
1581 June 20, 2013 I.Hrivnacova (analysis-V09-06-11)
1582 - Fixed the problem in Root files clean-up (manifested in
1583   examples/advanced/microbeam):
1584   non-empty Root file was deleted when only ntuples and no histograms
1585   were booked and the application was built against MT Geant4 but run
1586   in sequential mode.
1587 
1588 June 11, 2013 I.Hrivnacova (analysis-V09-06-10)
1589 - Fixed deleting fNtuple in G4RootNtupleDescription
1590   (the ntuple is deleted with root file)
1591 
1592 June 03, 2013 I.Hrivnacova (analysis-V09-06-09)
1593 - Improved handling files: empty files are now removed in CloseFile()
1594 - Moved generation of file name in G4VAnalysisManager
1595 - Forced setting fIsMaster=true in sequential mode
1596 
1597 May 31, 2013 I.Hrivnacova (analysis-V09-06-08)
1598 - Fix in G4RootAnalysisManager::WriteOnAscii() - bug report #1473
1599 
1600 April 18, 2013 I.Hrivnacova (analysis-V09-06-07)
1601 - Manager classes updated for MT:
1602   Added fgMasterInstance, fIsMaster data members and functions for
1603   mergings histograms (Root, Xml) from worker tom master:
1604     void AddH1Vector(std::vector<tools::histo::h1d*>& h1Vector);
1605     void AddH2Vector(std::vector<tools::histo::h2d*>& h2Vector);
1606   These functions are automatically called on Worker::Write().
1607   Added ThreadId to ntuple file names when processing on workers.
1608 
1609 April 10, 2013 I.Hrivnacova (analysis-V09-06-06)
1610 - Updated to g4tools 1.6.0 (by G. Barrand) - see History_tools
1611 
1612 March 29, 2013 I.Hrivnacova (analysis-V09-06-05)
1613 - Extended analysis managers for handling more than one ntuple
1614 
1615 March 26, 2013 B.Morgan (analysis-V09-06-04)
1616 - source.cmake : Corrected zlib setup for transparent use of
1617   internal or external variants.
1618 
1619 March 22, 2013 G.Cosmo (analysis-V09-06-03)
1620 - Corrected GNUmakefile and CMakeLists.txt for zlib dependency.
1621 
1622 March 21, 2013 I.Hrivnacova (analysis-V09-06-02)
1623 - Updated CMakeList.txt for zlib dependencies
1624 
1625 March 21, 2013 I.Hrivnacova (analysis-V09-06-01)
1626 - Updated to g4tools 1.5.0 (by G. Barrand) - see History_tools
1627 - Adding file compression in Root manager (now available)
1628 - Adding use of zlib in GNUmakefile (needed for compression)
1629 
1630 December 17, 2012 I.Hrivnacova (analysis-V09-06-00)
1631 - Added 'svn:keywords' property to all files (except for tools)
1632 
1633 October 26, 2012 I.Hrivnacova (analysis-V09-05-15)
1634 - Updated to g4tools 1.4.3 (by G. Barrand) - see History_tools;
1635   includes bug correction for histo/h3::fill
1636 
1637 October 14, 2012 I.Hrivnacova (analysis-V09-05-14)
1638 - Adding function  G4VAnalysisManager::SetActivation(..)
1639   for setting activation to all histograms of one type
1640 - Adding commands to activate/inactivate 1D, 2D histograms
1641 - Fixed GetH1[2]Width: return the correct value also when histogram is
1642   inactive.
1643 
1644 October 10, 2012 I.Hrivnacova (analysis-V09-05-13)
1645 - Adding commands for handling h2d histograms.
1646 - Adding functions for accessing h1d, h2d by name
1647 - Splitting verbose level 1 in 2 levels and shifting the upper levels
1648 
1649 September 28, 2012 I.Hrivnacova (analysis-V09-05-12)
1650 - Fixed loops in G4Root/XmlAnalysisManager::WriteOnAscii;
1651   (causing compilation warning for shadowing)
1652 
1653 September 4, 2012 I.Hrivnacova (analysis-V09-05-11)
1654 - Adding missing header file in CMakeLists.txt
1655 
1656 August 28, 2012 I.Hrivnacova (analysis-V09-05-10)
1657 - Adding SetH2Title() in all managers
1658 - Minor fixes
1659 
1660 August 22, 2012 I.Hrivnacova (analysis-V09-05-09)
1661 - Updated to g4tools 1.4.1 (by G. Barrand) - see History_tools
1662 - Adding setters/getters for histogram axis titles
1663   and commands for setting histogram title and axis titles
1664 
1665 August 20, 2012 I.Hrivnacova (analysis-V09-05-08)
1666 - Updated to g4tools 1.3.2 (by G. Barrand) - see History_tools
1667 - Adding a possibility to fill h1, h2 with values with automatically
1668   applied function (eg. log10, exp)
1669 - Pass units via a name instead of value
1670 - Adding getters for many h1, h2 attributes
1671 - Adding ScaleH1(), ScaleH2()
1672 - Fixed warning in G4RootAnalysisManager when trying to fill inactivated
1673   histogram
1674 - Adding W013, W014 in exception classification
1675 
1676 July 27, 2012 I.Hrivnacova (analysis-V09-05-07)
1677 - Updated to g4tools 1.3.1 (by G. Barrand) - see History_tools
1678 - Messages from Fill functions only in verbose level 3
1679 - Fixes in memory management:
1680   delete file before opening a new one (all);
1681   delete ntuple before closing a file (csv, xml)
1682 
1683 July 25, 2012 I.Hrivnacova (analysis-V09-05-06)
1684 - Fix returned values in newly added functions for accessing additional
1685  information. (This fixes compiler warnings.)
1686 
1687 July 24, 2012 I.Hrivnacova (analysis-V09-05-05)
1688 - Fix CMake build once more - adding new source files in
1689   and dependence on G4intercoms library
1690 
1691 July 24, 2012 I.Hrivnacova (analysis-V09-05-04)
1692 - Fix CMake build - adding intercoms to include path
1693   (now needed for the messenger class)
1694 
1695 July 24, 2012 I.Hrivnacova (analysis-V09-05-03)
1696 - Updated to g4tools-1.3.0 (G. Barrand) - see History_tools
1697 - Adding an additional information to the analysis objects
1698   (defined in G4HnInformation.hh):
1699   units, activation, ascii output
1700 - Implemented a possibility to book histograms/ntuples
1701   before opening a file
1702 - Adding a messenger class allowing to configure file and directories
1703   names, verbosity level and histogram parameters interactively.
1704 
1705 June 5, 2012 I.Hrivnacova (analysis-V09-05-02)
1706 - Updated to g4tools-1.2.0 (G. Barrand) - see History_tools
1707 
1708 February 23, 2012 I.Hrivnacova (analysis-V09-05-01)
1709 - Adding locks for functions which define directory names,
1710   setting Ids etc. so that these parameters cannot be changed once
1711   they were used
1712 - Changed return type for the functions with locks to G4bool
1713 - Renamed FirstNtupleId data member and its setter to FirstNtupleColumnId
1714   to better reflect its meaning
1715 - Adding W009-W012 warning in exception_classification.txt
1716 
1717 February 14, 2012 I.Hrivnacova (analysis-V09-05-00)
1718 - Updated to g4tools-1.1.0 (G. Barrand) - see History_tools
1719 - Adding defs include files per manager type
1720 - Adding GetNtuple() function to specific managers
1721 - Adding GetType() function  to G4VAnalysisManager
1722 - Increased granularity of verbose levels (now 3 levels are available)
1723 - Adding test for result of openning file in Root manager
1724   (which was not provided in previous versions of g4tools)
1725 - Making creating directories optional
1726 
1727 November 30th 2011 B.Morgan (analysis-V09-04-15)
1728 - CMakeLists.txt : Updated to build G4analysis in granular as well as global
1729   mode.
1730 
1731 November 24 2001 I.Hrivnacova (analysis-V09-04-14)
1732 - Updated to g4tools-1.0.5 (G. Barrand):
1733   - wroot : streamers, buffer, wbuf, named :
1734             arrange to avoid the usage of the std::vector<>::data() method
1735             which is quite not portable for the moment.
1736  - remove the no more needed (and problematic) tools/vdata file.
1737 
1738 November 24 2001 I.Hrivnacova (analysis-V09-04-13)
1739 - tools/vdata: restored protection __GXX_EXPERIMENTAL_CXX0X__
1740   which got lost with update to  g4tools-1.0.4
1741 
1742 November 24 2001 I.Hrivnacova (analysis-V09-04-12)
1743 - Updated to g4tools-1.0.4 (G. Barrand):
1744   - Fix in tools/vdata:
1745     Adding a protection against an empty vector
1746 
1747 November 19 2001 I.Hrivnacova (analysis-V09-04-11)
1748 - Updated to g4tools-1.0.3 (G. Barrand):
1749   - Removed warning in CHBOOK/CHPWDF
1750   - Remove #ifdef WIN32 in wroot/date.
1751 
1752 November 8 2011 G.Cosmo (analysis-V09-04-10)
1753 - tools/vdata: restored protection __GXX_EXPERIMENTAL_CXX0X__ to use of
1754   std::vector<>::data() feature, to allow compilation on Leopard systems.
1755 
1756 October 27 2011 G.Cosmo (analysis-V09-04-09)
1757 - Added workaround to use 'this' pointer for internal calls in histo/b1,
1758   to allow for compilation on Xcode on MacOX Lion.
1759 
1760 October 18 2011 I.Hrivnacova (analysis-V09-04-08)
1761 - Fix in CMakeLists.txt - adding new G4AnalysisVerbose.* files
1762 
1763 October 17 2011 I.Hrivnacova (analysis-V09-04-07)
1764 - Added support for H2 histograms
1765 - Added verbose printing (for levels: 0,1,2)
1766 - Updated to g4tools-1.0.2 (G. Barrand):
1767   - Removed "inline" keyword for the methods having code implementation
1768     within classes. Dixit C++ docs, this kind of method is treated defacto
1769     as "inline". The keyword "inline" remains or for functions or for the
1770     few methods having their implementation outside the class.
1771   - Fixed some warnings (coming from Coverity or some specific version of g++)
1772     about the lacking of calling the copy constructor of an inherited interface
1773     in some copy constructors.
1774   - wroot/tree : have the streaming of the list of leaves. This permits to have
1775     the ROOT/TTree::Scan() method working when looking for a ntuple
1776     stored in a .root file as a TTree.
1777 
1778 September 15 2011 I.Hrivnacova (analysis-V09-04-06)
1779 - Added static access to specific manager classes.
1780 - Migration to G4Exception for all warning/error messages.
1781 
1782 August 4 2011 G.Cosmo (analysis-V09-04-05)
1783 - Extended fix in tools/vdata for compilation error on olders GCC compiler
1784   versions (MacOSX 10.5, SLC4, ...). Addressing problem report #1238.
1785 
1786 July 29 2011 G.Cosmo (analysis-V09-04-04)
1787 - Fix in tools/vdata for compilation error in Intel ICC compiler.
1788 
1789 July 28 2011 B.Morgan (analysis-V09-04-02)
1790 - Creating new tag because previous ones were not documented here!!
1791 
1792 July 28 2011 B.Morgan (analysis-V09-04-01.5)
1793 - CMakeLists.txt : Added to provide CMake build for G4Analysis. Implemented
1794   without using a sources.cmake because we only have one library, and tools
1795   headers need a specialized install to retain their nested structure.
1796 
1797 July 28 2011 G. Cosmo
1798 - Fix in tools/wroot/file to avoid gcc dependency error on WIN32 with CygWin.
1799 
1800 
1801 July 28, 2011 B.Morgan
1802 - Created History file for analysis module.