Created MedtechRunAction class
This commit is contained in:
parent
4c5eee2b96
commit
124bd583e7
|
@ -0,0 +1,43 @@
|
|||
//
|
||||
// MedtechRunAction.hh
|
||||
// medtech
|
||||
//
|
||||
// Created by Baranyai David on 2018. 04. 01..
|
||||
//
|
||||
|
||||
#ifndef MedtechRunAction_hh
|
||||
#define MedtechRunAction_hh
|
||||
|
||||
#include <stdio.h>
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "G4Accumulable.hh"
|
||||
#include "globals.hh"
|
||||
#include "MedtechPrimaryGeneratorAction.hh"
|
||||
#include "MedtechDetectorConstruction.hh"
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4Run.hh"
|
||||
#include "G4AccumulableManager.hh"
|
||||
#include "G4LogicalVolumeStore.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "MedtechRun.hh"
|
||||
|
||||
class MedtechRunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
MedtechRunAction();
|
||||
virtual ~MedtechRunAction();
|
||||
|
||||
virtual G4Run* GenerateRun();
|
||||
virtual void BeginOfRunAction(const G4Run*);
|
||||
virtual void EndOfRunAction(const G4Run*);
|
||||
|
||||
void AddEdep (G4double edep);
|
||||
|
||||
private:
|
||||
G4Accumulable<G4double> fEdep;
|
||||
G4Accumulable<G4double> fEdep2;
|
||||
};
|
||||
|
||||
#endif /* MedtechRunAction_hh */
|
|
@ -0,0 +1,62 @@
|
|||
//
|
||||
// MedtechRunAction.cc
|
||||
// medtech
|
||||
//
|
||||
// Created by Baranyai David on 2018. 04. 01..
|
||||
//
|
||||
|
||||
#include "MedtechRunAction.hh"
|
||||
|
||||
MedtechRunAction::MedtechRunAction() : G4UserRunAction(), fEdep(0.), fEdep2(0.)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
MedtechRunAction::~MedtechRunAction()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void MedtechRunAction::BeginOfRunAction(const G4Run*)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void MedtechRunAction::EndOfRunAction(const G4Run* run)
|
||||
{
|
||||
G4int nofEvents = run->GetNumberOfEvent();
|
||||
if (nofEvents == 0) return;
|
||||
|
||||
const MedtechRun* medRun = static_cast<const MedtechRun*>(run);
|
||||
G4double edepInRuns = medRun->GetEdep();
|
||||
|
||||
// Print
|
||||
//
|
||||
if (IsMaster()) {
|
||||
G4cout
|
||||
<< G4endl
|
||||
<< "--------------------End of Global Run-----------------------";
|
||||
}
|
||||
else {
|
||||
G4cout
|
||||
<< G4endl
|
||||
<< "--------------------End of Local Run------------------------";
|
||||
}
|
||||
|
||||
G4cout
|
||||
<< G4endl
|
||||
<< " The run consists of " << nofEvents << " edep: "<< edepInRuns/keV
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
G4Run* MedtechRunAction::GenerateRun()
|
||||
{
|
||||
return new MedtechRun;
|
||||
}
|
||||
|
||||
void MedtechRunAction::AddEdep(G4double edep)
|
||||
{
|
||||
fEdep += edep;
|
||||
fEdep2 += edep*edep;
|
||||
}
|
Loading…
Reference in New Issue