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

#include <B4RunAction.hh>

Inheritance diagram for B4RunAction:
G4UserRunAction G4UserRunAction G4UserRunAction

Public Member Functions

 B4RunAction ()
 
virtual ~B4RunAction ()
 
virtual void BeginOfRunAction (const G4Run *)
 
virtual void EndOfRunAction (const G4Run *)
 
 B4RunAction ()
 
virtual ~B4RunAction ()
 
virtual void BeginOfRunAction (const G4Run *)
 
virtual void EndOfRunAction (const G4Run *)
 
 B4RunAction ()
 
virtual ~B4RunAction ()
 
virtual void BeginOfRunAction (const G4Run *)
 
virtual void EndOfRunAction (const G4Run *)
 
- Public Member Functions inherited from G4UserRunAction
 G4UserRunAction ()
 
virtual ~G4UserRunAction ()
 
virtual G4RunGenerateRun ()
 
void SetMaster (G4bool val=true)
 
G4bool IsMaster () const
 

Additional Inherited Members

- Protected Attributes inherited from G4UserRunAction
G4bool isMaster
 

Detailed Description

Run action class

It accumulates statistic and computes dispersion of the energy deposit and track lengths of charged particles with use of analysis tools: H1D histograms are created in BeginOfRunAction() for the following physics quantities:

In EndOfRunAction(), the accumulated statistic and computed dispersion is printed.

Definition at line 57 of file B4a/include/B4RunAction.hh.

Constructor & Destructor Documentation

B4RunAction::B4RunAction ( )

Definition at line 41 of file B4a/src/B4RunAction.cc.

References python.hepunit::cm, G4cout, G4endl, G4RunManager::GetRunManager(), python.hepunit::m, python.hepunit::MeV, and G4RunManager::SetPrintProgress().

42  : G4UserRunAction()
43 {
44  // set printing event number per each event
46 
47  // Create analysis manager
48  // The choice of analysis technology is done via selectin of a namespace
49  // in B4Analysis.hh
50  G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
51  G4cout << "Using " << analysisManager->GetType() << G4endl;
52 
53  // Create directories
54  //analysisManager->SetHistoDirectoryName("histograms");
55  //analysisManager->SetNtupleDirectoryName("ntuple");
56  analysisManager->SetVerboseLevel(1);
57  analysisManager->SetFirstHistoId(1);
58 
59  // Book histograms, ntuple
60  //
61 
62  // Creating histograms
63  analysisManager->CreateH1("1","Edep in absorber", 100, 0., 800*MeV);
64  analysisManager->CreateH1("2","Edep in gap", 100, 0., 100*MeV);
65  analysisManager->CreateH1("3","trackL in absorber", 100, 0., 1*m);
66  analysisManager->CreateH1("4","trackL in gap", 100, 0., 50*cm);
67 
68  // Creating ntuple
69  //
70  analysisManager->CreateNtuple("B4", "Edep and TrackL");
71  analysisManager->CreateNtupleDColumn("Eabs");
72  analysisManager->CreateNtupleDColumn("Egap");
73  analysisManager->CreateNtupleDColumn("Labs");
74  analysisManager->CreateNtupleDColumn("Lgap");
75  analysisManager->FinishNtuple();
76 }
void SetPrintProgress(G4int i)
G4GLOB_DLL std::ostream G4cout
ExG4HbookAnalysisManager G4AnalysisManager
Definition: g4hbook_defs.hh:46
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
#define G4endl
Definition: G4ios.hh:61
B4RunAction::~B4RunAction ( )
virtual

Definition at line 80 of file B4a/src/B4RunAction.cc.

81 {
82  delete G4AnalysisManager::Instance();
83 }
B4RunAction::B4RunAction ( )
virtual B4RunAction::~B4RunAction ( )
virtual
B4RunAction::B4RunAction ( )
virtual B4RunAction::~B4RunAction ( )
virtual

Member Function Documentation

void B4RunAction::BeginOfRunAction ( const G4Run )
virtual

Reimplemented from G4UserRunAction.

Definition at line 87 of file B4a/src/B4RunAction.cc.

88 {
89  //inform the runManager to save random number seed
90  //G4RunManager::GetRunManager()->SetRandomNumberStore(true);
91 
92  // Get analysis manager
93  G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
94 
95  // Open an output file
96  //
97  G4String fileName = "B4";
98  analysisManager->OpenFile(fileName);
99 }
ExG4HbookAnalysisManager G4AnalysisManager
Definition: g4hbook_defs.hh:46
virtual void B4RunAction::BeginOfRunAction ( const G4Run )
virtual

Reimplemented from G4UserRunAction.

virtual void B4RunAction::BeginOfRunAction ( const G4Run )
virtual

Reimplemented from G4UserRunAction.

virtual void B4RunAction::EndOfRunAction ( const G4Run )
virtual

Reimplemented from G4UserRunAction.

void B4RunAction::EndOfRunAction ( const G4Run )
virtual

Reimplemented from G4UserRunAction.

Definition at line 103 of file B4a/src/B4RunAction.cc.

References G4BestUnit, G4cout, G4endl, and G4UserRunAction::isMaster.

104 {
105  // print histogram statistics
106  //
107  G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
108  if ( analysisManager->GetH1(1) ) {
109  G4cout << "\n ----> print histograms statistic ";
110  if(isMaster) {
111  G4cout << "for the entire run \n" << G4endl;
112  }
113  else {
114  G4cout << "for the local thread \n" << G4endl;
115  }
116 
117  G4cout << " EAbs : mean = "
118  << G4BestUnit(analysisManager->GetH1(1)->mean(), "Energy")
119  << " rms = "
120  << G4BestUnit(analysisManager->GetH1(1)->rms(), "Energy") << G4endl;
121 
122  G4cout << " EGap : mean = "
123  << G4BestUnit(analysisManager->GetH1(2)->mean(), "Energy")
124  << " rms = "
125  << G4BestUnit(analysisManager->GetH1(2)->rms(), "Energy") << G4endl;
126 
127  G4cout << " LAbs : mean = "
128  << G4BestUnit(analysisManager->GetH1(3)->mean(), "Length")
129  << " rms = "
130  << G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl;
131 
132  G4cout << " LGap : mean = "
133  << G4BestUnit(analysisManager->GetH1(4)->mean(), "Length")
134  << " rms = "
135  << G4BestUnit(analysisManager->GetH1(4)->rms(), "Length") << G4endl;
136  }
137 
138  // save histograms & ntuple
139  //
140  analysisManager->Write();
141  analysisManager->CloseFile();
142 
143 }
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4GLOB_DLL std::ostream G4cout
ExG4HbookAnalysisManager G4AnalysisManager
Definition: g4hbook_defs.hh:46
#define G4endl
Definition: G4ios.hh:61
virtual void B4RunAction::EndOfRunAction ( const G4Run )
virtual

Reimplemented from G4UserRunAction.


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