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 electromagnetic/TestEm11/src/HistoMa 27 /// \brief Implementation of the HistoManager 28 // 29 // 30 // 31 //....oooOO0OOooo........oooOO0OOooo........oo 32 //....oooOO0OOooo........oooOO0OOooo........oo 33 34 #include "HistoManager.hh" 35 36 #include "DetectorConstruction.hh" 37 38 #include "G4UnitsTable.hh" 39 40 //....oooOO0OOooo........oooOO0OOooo........oo 41 42 HistoManager::HistoManager() 43 { 44 Book(); 45 } 46 47 //....oooOO0OOooo........oooOO0OOooo........oo 48 49 void HistoManager::Book() 50 { 51 // Create or get analysis manager 52 // The choice of analysis technology is done 53 // in HistoManager.hh 54 G4AnalysisManager* analysisManager = G4Analy 55 analysisManager->SetDefaultFileType("root"); 56 analysisManager->SetFileName(fFileName); 57 analysisManager->SetVerboseLevel(1); 58 analysisManager->SetActivation(true); 59 60 // Define histograms start values 61 const G4int kMaxHisto = 10; 62 const G4String id[] = {"0", "1", "2", "3" 63 "12", "13", "14", "15 64 65 const G4String title[] = { 66 "dummy", // 0 67 "Edep (MeV/mm) along absorbers", // 1 68 "total Energy deposited in absorbers", // 69 "true track length of the primary particle 70 "true step size of the primary particle", 71 "projected range of the primary particle", 72 "true track length of charged secondaries" 73 "true step size of charged secondaries", 74 "Edep (MeV.cm2/g) along x/r0", // 8 75 "total Energy leakage", // 9 76 "total Energy : Edep + Eleak" // 10 77 }; 78 79 // Default values (to be reset via /analysis 80 G4int nbins = 100; 81 G4double vmin = 0.; 82 G4double vmax = 100.; 83 84 // Create all histograms as inactivated 85 // as we have not yet set nbins, vmin, vmax 86 for (G4int k = 0; k <= kMaxHisto; k++) { 87 G4int ih = analysisManager->CreateH1(id[k] 88 analysisManager->SetH1Activation(ih, false 89 } 90 91 G4String title2; 92 for (G4int k = 1; k < kMaxAbsor; k++) { 93 title2 = "Edep in absorber " + id[k]; 94 G4int ih = analysisManager->CreateH1(id[kM 95 analysisManager->SetH1Activation(ih, false 96 } 97 } 98 99 //....oooOO0OOooo........oooOO0OOooo........oo 100