Geant4 Cross Reference |
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.