Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions
AnalysisManager Class Reference

#include <AnalysisManager.hh>

Public Member Functions

void Score (G4double eDep)
 
 AnalysisManager ()
 
 ~AnalysisManager ()
 
void book ()
 
void SetPrimaryEnergy (G4double energy)
 
void StoreEnergyDeposition (G4double edep)
 
void FillSecondaries (G4int AA, G4double charge, G4double energy)
 
void finish ()
 

Static Public Member Functions

static AnalysisManagerInstance ()
 
static void Destroy ()
 

Protected Member Functions

 AnalysisManager ()
 
virtual ~AnalysisManager ()
 
 AnalysisManager (const AnalysisManager &only)
 
const AnalysisManageroperator= (const AnalysisManager &only)
 

Detailed Description

Definition at line 34 of file eRosita/application/include/AnalysisManager.hh.

Constructor & Destructor Documentation

AnalysisManager::AnalysisManager ( )
protected

Definition at line 58 of file eRosita/application/src/AnalysisManager.cc.

Referenced by Instance().

59 {
60  outFile.open("TrackerPhotonEnergy.out");
61 // outFileT.open("eTot.out");
62 }
std::ofstream outFile
Definition: GammaRayTel.cc:68
AnalysisManager::~AnalysisManager ( )
protectedvirtual

Definition at line 65 of file eRosita/application/src/AnalysisManager.cc.

66 {
67  outFile.close();
68  outFileT.close();
69 }
std::ofstream outFile
Definition: GammaRayTel.cc:68
AnalysisManager::AnalysisManager ( const AnalysisManager only)
protected
AnalysisManager::AnalysisManager ( )
AnalysisManager::~AnalysisManager ( )

Member Function Documentation

void AnalysisManager::book ( )

Definition at line 54 of file radioprotection/src/AnalysisManager.cc.

References G4cout, and G4endl.

55 {
56  G4AnalysisManager* manager = G4AnalysisManager::Instance();
57 
58  manager->SetVerboseLevel(2);
59 
60  // Create a root file
61  G4String fileName = "radioprotection.root";
62 
63  // Create directories
64  manager->SetNtupleDirectoryName("radioprotection_ntuple");
65 
66 
67  G4bool fileOpen = manager->OpenFile(fileName);
68  if (!fileOpen) {
69  G4cout << "\n---> HistoManager::book(): cannot open "
70  << fileName[1]
71  << G4endl;
72  return;
73  }
74 
75  manager->SetFirstNtupleId(1);
76 
77  //Create Primary Energy Ntuple
78  manager -> CreateNtuple("101", "Primary Energy");
79  fNtColId[0] = manager -> CreateNtupleDColumn("Ek");
80  manager -> FinishNtuple();
81 
82  //Create Energy Deposition within SV Ntuple
83  manager -> CreateNtuple("102", "Edep");
84  fNtColId[1] = manager -> CreateNtupleDColumn("edep");
85  manager -> FinishNtuple();
86 
87  //creating a ntuple, containing the information about secondary particles
88  manager -> CreateNtuple("103", "secondary");
89  fNtColId[2] = manager -> CreateNtupleDColumn("AA");
90  fNtColId[3] = manager -> CreateNtupleDColumn("ZZ");
91  fNtColId[4] = manager -> CreateNtupleDColumn("KE");
92  manager -> FinishNtuple();
93 
94 
95  factoryOn = true;
96 }
G4GLOB_DLL std::ostream G4cout
bool G4bool
Definition: G4Types.hh:79
ExG4HbookAnalysisManager G4AnalysisManager
Definition: g4hbook_defs.hh:46
#define G4endl
Definition: G4ios.hh:61
void AnalysisManager::Destroy ( void  )
static

Definition at line 46 of file eRosita/application/src/AnalysisManager.cc.

Referenced by eRositaRunAction::EndOfRunAction().

47 {
48 
49  // The AnalysisManager instance is deleted if it exists:
50  if (instance != 0)
51  {
52  delete instance;
53  instance = 0;
54  }
55 }
void AnalysisManager::FillSecondaries ( G4int  AA,
G4double  charge,
G4double  energy 
)

Definition at line 113 of file radioprotection/src/AnalysisManager.cc.

114 {
115 
116  G4AnalysisManager* manager = G4AnalysisManager::Instance();
117  manager -> FillNtupleDColumn(3, fNtColId[2], AA);
118  manager -> FillNtupleDColumn(3, fNtColId[3], charge);
119  manager -> FillNtupleDColumn(3, fNtColId[4], energy);
120  manager -> AddNtupleRow(3);
121 }
double precision function energy(A, Z)
Definition: dpm25nuc6.f:4106
ExG4HbookAnalysisManager G4AnalysisManager
Definition: g4hbook_defs.hh:46
void AnalysisManager::finish ( )

Definition at line 123 of file radioprotection/src/AnalysisManager.cc.

124 {
125  if (factoryOn)
126  {
127  G4AnalysisManager* manager = G4AnalysisManager::Instance();
128  manager -> Write();
129  manager -> CloseFile();
130 
131  delete G4AnalysisManager::Instance();
132  factoryOn = false;
133  }
134 }
ExG4HbookAnalysisManager G4AnalysisManager
Definition: g4hbook_defs.hh:46
AnalysisManager * AnalysisManager::Instance ( void  )
static

Definition at line 32 of file eRosita/application/src/AnalysisManager.cc.

References AnalysisManager().

Referenced by eRositaRunAction::BeginOfRunAction(), eRositaRunAction::EndOfRunAction(), and eRositaTrackerHit::PrintToFile().

33 {
34 
35  // A new instance of AnalysisManager is created if it does not exist:
36  if (instance == 0)
37  {
38  instance = new AnalysisManager();
39  }
40 
41  // The instance of AnalysisManager is returned:
42  return instance;
43 }
const AnalysisManager& AnalysisManager::operator= ( const AnalysisManager only)
protected
void AnalysisManager::Score ( G4double  eDep)

Definition at line 72 of file eRosita/application/src/AnalysisManager.cc.

Referenced by eRositaTrackerHit::PrintToFile().

73 {
74 // outFile << id << " "
75 // << eDep << " "
76 // << x << " "
77 // << y << " "
78 // << z << " "
79 // << std::endl;
80  outFile << eDep << std::endl;
81 }
std::ofstream outFile
Definition: GammaRayTel.cc:68
void AnalysisManager::SetPrimaryEnergy ( G4double  energy)

Definition at line 99 of file radioprotection/src/AnalysisManager.cc.

100 {
101  G4AnalysisManager* manager = G4AnalysisManager::Instance();
102  manager -> FillNtupleDColumn(1, fNtColId[0], energy);
103  manager -> AddNtupleRow(1);
104 }
double precision function energy(A, Z)
Definition: dpm25nuc6.f:4106
ExG4HbookAnalysisManager G4AnalysisManager
Definition: g4hbook_defs.hh:46
void AnalysisManager::StoreEnergyDeposition ( G4double  edep)

Definition at line 106 of file radioprotection/src/AnalysisManager.cc.

107 {
108  G4AnalysisManager* manager = G4AnalysisManager::Instance();
109  manager -> FillNtupleDColumn(2, fNtColId[1], edep);
110  manager -> AddNtupleRow(2);
111 }
ExG4HbookAnalysisManager G4AnalysisManager
Definition: g4hbook_defs.hh:46

The documentation for this class was generated from the following files: