Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
SAXSRunAction Class Reference

#include <Doxymodules_exoticphysics.h>

Inheritance diagram for SAXSRunAction:
G4UserRunAction

Public Member Functions

 SAXSRunAction ()
 
virtual ~SAXSRunAction ()
 
void BeginOfRunAction (const G4Run *) override
 
void EndOfRunAction (const G4Run *) override
 
void SetFileName (const G4String &)
 

Private Attributes

SAXSRunActionMessengerfMessenger = nullptr
 
G4AnalysisManager * fAnalysisManager = nullptr
 
G4bool fIsFileOpened = false
 
G4String fFileName = ""
 

Detailed Description

Definition at line 70 of file Doxymodules_exoticphysics.h.

Constructor & Destructor Documentation

◆ SAXSRunAction()

SAXSRunAction::SAXSRunAction ( )

Definition at line 45 of file SAXSRunAction.cc.

46{
47 //define the messenger
49
50 //default output filename (can be set through macro)
51 fFileName = "output";
52
53 //Create the analysis manager
54 fAnalysisManager = G4AnalysisManager::Instance();
55
56 fAnalysisManager->SetDefaultFileType("root");
57 fAnalysisManager->SetFileName(fFileName);
58 fAnalysisManager->SetNtupleMerging(true); //only for root
59 fAnalysisManager->SetVerboseLevel(1);
60
61 //Creating the SD scoring ntuple
62 fAnalysisManager->CreateNtuple("part","Particle");
63 fAnalysisManager->CreateNtupleDColumn("e");
64 fAnalysisManager->CreateNtupleDColumn("posx");
65 fAnalysisManager->CreateNtupleDColumn("posy");
66 fAnalysisManager->CreateNtupleDColumn("posz");
67 fAnalysisManager->CreateNtupleDColumn("momx");
68 fAnalysisManager->CreateNtupleDColumn("momy");
69 fAnalysisManager->CreateNtupleDColumn("momz");
70 fAnalysisManager->CreateNtupleDColumn("t");
71 fAnalysisManager->CreateNtupleIColumn("type");
72 fAnalysisManager->CreateNtupleIColumn("trackID");
73 fAnalysisManager->CreateNtupleIColumn("NRi");
74 fAnalysisManager->CreateNtupleIColumn("NCi");
75 fAnalysisManager->CreateNtupleIColumn("NDi");
76 fAnalysisManager->CreateNtupleIColumn("eventID");
77 fAnalysisManager->CreateNtupleDColumn("weight");
78 fAnalysisManager->FinishNtuple();
79
80 //Creating ntuple for scattering
81 fAnalysisManager->CreateNtuple("scatt","Scattering");
82 fAnalysisManager->CreateNtupleIColumn("processID");
83 fAnalysisManager->CreateNtupleDColumn("e");
84 fAnalysisManager->CreateNtupleDColumn("theta");
85 fAnalysisManager->CreateNtupleDColumn("weight");
86 fAnalysisManager->FinishNtuple();
87}
SAXSRunActionMessenger * fMessenger
G4AnalysisManager * fAnalysisManager
G4String fFileName

◆ ~SAXSRunAction()

SAXSRunAction::~SAXSRunAction ( )
virtual

Definition at line 91 of file SAXSRunAction.cc.

92{
93 delete fMessenger;
94}

Member Function Documentation

◆ BeginOfRunAction()

void SAXSRunAction::BeginOfRunAction ( const G4Run )
override

Definition at line 98 of file SAXSRunAction.cc.

99{
100 //open the output file
101 if (!fIsFileOpened)
102 {
103 fAnalysisManager->OpenFile(fFileName);
104 fIsFileOpened = true;
105 }
106}

◆ EndOfRunAction()

void SAXSRunAction::EndOfRunAction ( const G4Run run)
override

Definition at line 110 of file SAXSRunAction.cc.

111{
112 G4int nofEvents = run->GetNumberOfEvent();
113 if (nofEvents == 0) return;
114
115 //print
116 if (IsMaster()) {
117 G4cout
118 << G4endl
119 << "--------------------End of Global Run-----------------------"
120 << G4endl
121 << " The run had " << nofEvents << " events";
122 } else {
123 G4cout
124 << G4endl
125 << "--------------------End of Local Run------------------------"
126 << G4endl
127 << " The run had " << nofEvents << " events";
128 }
129 if (fIsFileOpened) {
130 fAnalysisManager->Write();
131 fAnalysisManager->CloseFile();
132 }
133}

◆ SetFileName()

void SAXSRunAction::SetFileName ( const G4String filename)

Definition at line 137 of file SAXSRunAction.cc.

138{
139 //method to set the output filename
140 if (filename != "") fFileName = filename;
141}

Member Data Documentation

◆ fMessenger

SAXSRunActionMessenger* SAXSRunAction::fMessenger = nullptr
private

Definition at line 57 of file SAXSRunAction.hh.

◆ fAnalysisManager

G4AnalysisManager* SAXSRunAction::fAnalysisManager = nullptr
private

Definition at line 58 of file SAXSRunAction.hh.

◆ fIsFileOpened

G4bool SAXSRunAction::fIsFileOpened = false
private

Definition at line 60 of file SAXSRunAction.hh.

◆ fFileName

G4String SAXSRunAction::fFileName = ""
private

Definition at line 61 of file SAXSRunAction.hh.


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

Applications | User Support | Publications | Collaboration