Loading...
Searching...
No Matches
OpNoviceRun.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26/// \file OpNovice/include/OpNoviceRun.hh
27/// \brief Definition of the OpNoviceRun class
28//
29//
30//
31//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
32//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
33
34#ifndef OpNoviceRun_h
35#define OpNoviceRun_h 1
36
37#include "G4Run.hh"
38
40
41//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
42
43class OpNoviceRun : public G4Run
44{
45 public:
46 OpNoviceRun() = default;
47 ~OpNoviceRun() override = default;
48
49 void SetPrimary(G4ParticleDefinition* particle, G4double energy);
50
51 void AddCerenkov(G4double n)
52 {
54 fCerenkov2 += n * n;
55 };
56 void AddScintillation(G4double n)
57 {
59 fScintillation2 += n * n;
60 };
61 void AddRayleigh(G4double n)
62 {
64 fRayleigh2 += n * n;
65 };
66 void AddAbsorption(G4double n)
67 {
69 fAbsorption2 += n * n;
70 };
71 void AddMie(G4double n)
72 {
73 fMieCounter += n;
74 fMie2 += n * n;
75 };
76 void AddBoundary(G4double n)
77 {
79 fBoundary2 += n * n;
80 };
81
82 void Merge(const G4Run*) override;
83 void EndOfRun();
84
85 private:
87
88 G4double fCerenkovCounter = 0.;
89 G4double fCerenkov2 = 0.;
90 G4double fScintillationCounter = 0.;
91 G4double fScintillation2 = 0.;
92 G4double fRayleighCounter = 0.;
93 G4double fRayleigh2 = 0.;
94 G4double fAbsorptionCounter = 0.;
95 G4double fAbsorption2 = 0.;
96 G4double fMieCounter = 0.;
97 G4double fMie2 = 0.;
98 G4double fBoundaryCounter = 0.;
99 G4double fBoundary2 = 0.;
100 G4double fEnergy = -1.;
101};
102//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
103#endif
G4double fScintillationCounter
void AddRayleigh(G4double n)
~OpNoviceRun() override=default
OpNoviceRun()=default
G4double fEnergy
G4double fCerenkov2
void EndOfRun()
G4double fMie2
void Merge(const G4Run *) override
G4double fBoundaryCounter
G4double fRayleigh2
G4ParticleDefinition * fParticle
G4double fAbsorptionCounter
G4double fScintillation2
void AddAbsorption(G4double n)
G4double fRayleighCounter
void AddBoundary(G4double n)
void AddScintillation(G4double n)
void AddCerenkov(G4double n)
G4double fCerenkovCounter
G4double fAbsorption2
G4double fMieCounter
G4double fBoundary2
void AddMie(G4double n)
void SetPrimary(G4ParticleDefinition *particle, G4double energy)

Applications | User Support | Publications | Collaboration