Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // This example is provided by the Geant4-DNA 27 // Any report or published results obtained us 28 // shall cite the following Geant4-DNA collabo 29 // Med. Phys. 45 (2018) e722-e739 30 // Phys. Med. 31 (2015) 861-874 31 // Med. Phys. 37 (2010) 4692-4708 32 // Int. J. Model. Simul. Sci. Comput. 1 (2010) 33 // 34 // The Geant4-DNA web site is available at htt 35 // 36 /// \file medical/dna/svalue/src/HistoManager. 37 /// \brief Implementation of the HistoManager 38 39 #include "HistoManager.hh" 40 41 //....oooOO0OOooo........oooOO0OOooo........oo 42 43 HistoManager::HistoManager() : fFileName("sval 44 { 45 Book(); 46 } 47 48 //....oooOO0OOooo........oooOO0OOooo........oo 49 50 HistoManager::~HistoManager() {} 51 52 //....oooOO0OOooo........oooOO0OOooo........oo 53 54 void HistoManager::Book() 55 { 56 // Create or get analysis manager 57 58 G4AnalysisManager* analysisManager = G4Analy 59 analysisManager->SetDefaultFileType("root"); 60 analysisManager->SetFileName(fFileName); 61 analysisManager->SetVerboseLevel(1); 62 analysisManager->SetActivation(true); 63 64 // Define histograms start values 65 66 const G4int kMaxHisto = 11; 67 const G4String id[] = {"0", "1", "2", "3", " 68 69 const G4String title[] = {"kinetic energy of 70 "kinetic energy of 71 "kinetic energy of 72 "kinetic energy of 73 "charge of new tra 74 "total energy depo 75 "total energy depo 76 "true track length 77 "true step size of 78 "projected range o 79 "true track length 80 "true step size of 81 82 // Default values (to be reset via /analysis 83 84 G4int nbins = 100; 85 G4double vmin = 0.; 86 G4double vmax = 100.; 87 88 // Create all histograms as inactivated 89 // as we have not yet set nbins, vmin, vmax 90 91 for (G4int k = 0; k < kMaxHisto; k++) { 92 G4int ih = analysisManager->CreateH1(id[k] 93 analysisManager->SetH1Activation(ih, false 94 } 95 } 96