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 /// \file HistoManager.cc 27 /// \brief Implementation of the HistoManager 28 // 29 // 30 //....oooOO0OOooo........oooOO0OOooo........oo 31 //....oooOO0OOooo........oooOO0OOooo........oo 32 33 #include "HistoManager.hh" 34 35 #include "G4UnitsTable.hh" 36 37 //....oooOO0OOooo........oooOO0OOooo........oo 38 39 HistoManager::HistoManager() 40 { 41 Book(); 42 } 43 44 //....oooOO0OOooo........oooOO0OOooo........oo 45 46 void HistoManager::Book() 47 { 48 // Create or get analysis manager 49 G4AnalysisManager* analysisManager = G4Analy 50 analysisManager->SetDefaultFileType("root"); 51 analysisManager->SetFileName(fFileName); 52 analysisManager->SetVerboseLevel(1); 53 analysisManager->SetActivation(true); // en 54 55 // Define histograms start values 56 /// const G4int kMaxHisto1 = 24, kMaxHisto2 57 const G4String id[] = {"0", "1", "2", "3" 58 "11", "12", "13", "14 59 "22", "23", "24", "25 60 "33", "34", "35", "36 61 62 const G4String title[] = { 63 "dummy", // 0 64 "total energy deposit", // 1 65 "Edep (MeV/mm) along beam directiom", // 66 "total kinetic energy emerging", // 3 67 "energy spectrum of emerging gamma", // 4 68 "energy spectrum of emerging e+-", // 5 69 "energy spectrum of emerging neutrons", / 70 "energy spectrum of emerging protons", // 71 "energy spectrum of emerging deuterons", 72 "energy spectrum of emerging alphas", // 73 "energy spectrum of all others emerging io 74 "energy spectrum of all others emerging ba 75 "energy spectrum of all others emerging me 76 "energy spectrum of all others emerging le 77 "dN/dt (becquerel) of emerging gamma", // 78 "dN/dt (becquerel) of emerging e+- ", // 79 "dN/dt (becquerel) of emerging neutrons", 80 "dN/dt (becquerel) of emerging protons", 81 "dN/dt (becquerel) of emerging deuterons", 82 "dN/dt (becquerel) of emerging alphas", / 83 "dN/dt (becquerel) of all others emerging 84 "dN/dt (becquerel) of all others emerging 85 "dN/dt (becquerel) of all others emerging 86 "dN/dt (becquerel) of all others emerging 87 }; 88 89 // Default values (to be reset via /analysis 90 G4int nbins = 100; 91 G4double vmin = 0.; 92 G4double vmax = 100.; 93 94 // Create all histograms as inactivated 95 // as we have not yet set nbins, vmin, vmax 96 for (G4int k = 0; k < kMaxHisto1; k++) { 97 G4int ih = analysisManager->CreateH1(id[k] 98 analysisManager->SetH1Activation(ih, false 99 } 100 101 // population of species 102 for (G4int k = kMaxHisto1; k < kMaxHisto2; k 103 G4int ih = analysisManager->CreateH1(id[k] 104 analysisManager->SetH1Activation(ih, false 105 } 106 } 107 108 //....oooOO0OOooo........oooOO0OOooo........oo 109