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 27 // Author: Ivana Hrivnacova, 18/06/2013 (ivan 28 29 #include "G4RootAnalysisManager.hh" 30 #include "G4RootFileManager.hh" 31 #include "G4RootNtupleFileManager.hh" 32 #include "G4AnalysisManagerState.hh" 33 #include "G4AnalysisUtilities.hh" 34 #include "G4ThreadLocalSingleton.hh" 35 #include "G4Threading.hh" 36 37 using namespace G4Analysis; 38 39 //____________________________________________ 40 G4RootAnalysisManager* G4RootAnalysisManager:: 41 { 42 static G4ThreadLocalSingleton<G4RootAnalysis 43 fgIsInstance = true; 44 return instance.Instance(); 45 } 46 47 //____________________________________________ 48 G4bool G4RootAnalysisManager::IsInstance() 49 { 50 return fgIsInstance; 51 } 52 53 //____________________________________________ 54 G4RootAnalysisManager::G4RootAnalysisManager() 55 : G4ToolsAnalysisManager("Root") 56 { 57 // File manager 58 fFileManager = std::make_shared<G4RootFileMa 59 SetFileManager(fFileManager); 60 61 // Ntuple file manager 62 fNtupleFileManager = std::make_shared<G4Root 63 SetNtupleFileManager(fNtupleFileManager); 64 fNtupleFileManager->SetFileManager(fFileMana 65 fNtupleFileManager->SetBookingManager(fNtupl 66 } 67 68 //____________________________________________ 69 G4RootAnalysisManager::~G4RootAnalysisManager( 70 { 71 fgIsInstance = false; 72 } 73 74 // 75 // public methods 76 // 77 78 //____________________________________________ 79 void G4RootAnalysisManager::SetNtupleMerging(G 80 G 81 { 82 fNtupleFileManager->SetNtupleMerging(mergeNt 83 } 84 85 //____________________________________________ 86 void G4RootAnalysisManager::SetNtupleRowWise(G 87 { 88 fNtupleFileManager->SetNtupleRowWise(rowWise 89 } 90 91 //____________________________________________ 92 void G4RootAnalysisManager::SetBasketSize(unsi 93 { 94 fFileManager->SetBasketSize(basketSize); 95 } 96 97 //____________________________________________ 98 void G4RootAnalysisManager::SetBasketEntries(u 99 { 100 fFileManager->SetBasketEntries(basketEntries 101 } 102