Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4Analyser.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// $Id$
27//
28// 20101010 M. Kelsey -- Migrate to integer A and Z
29
30#ifndef G4ANALYSER_HH
31#define G4ANALYSER_HH
32
33#define WITH_NUCLEI
34
35#include "G4CollisionOutput.hh"
36//#include "G4InuclParticle.hh"
38#include "G4InuclNuclei.hh"
39#include "G4NuclWatcher.hh"
40//#include "G4ExitonConfiguration.hh"
41
42#include <vector>
43
45
46public:
47
48 G4Analyser();
49 void setInelCsec(G4double csec, G4bool withn);
50 void setWatchers(const std::vector<G4NuclWatcher>& watchers);
51 void try_watchers(G4int a, G4int z, G4bool if_nucl);
52 void analyse(const G4CollisionOutput& output);
53 void printResults();
54 void printResultsSimple();
56 void printResultsNtuple();
57
58private:
59
60 G4int verboseLevel;
61 G4double eventNumber;
62 G4double averageMultiplicity;
63 G4double averageProtonNumber;
64 G4double averageNeutronNumber;
65 G4double averagePionNumber;
66 G4double averageNucleonKinEnergy;
67 G4double averageProtonKinEnergy;
68 G4double averageNeutronKinEnergy;
69 G4double averagePionKinEnergy;
70 G4double averageExitationEnergy;
71 G4double averageOutgoingNuclei;
72 G4double fissy_prob;
73 G4double averagePionPl;
74 G4double averagePionMin;
75 G4double averagePion0;
76 G4double averageA;
77 G4double averageZ;
78 std::vector<G4NuclWatcher> ana_watchers;
79 G4double inel_csec;
80 G4bool withNuclei;
81};
82
83#endif // G4ANALYSER_HH
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
void setInelCsec(G4double csec, G4bool withn)
Definition: G4Analyser.cc:50
void printResultsSimple()
Definition: G4Analyser.cc:201
void handleWatcherStatistics()
Definition: G4Analyser.cc:266
void printResults()
Definition: G4Analyser.cc:230
void printResultsNtuple()
Definition: G4Analyser.cc:328
void setWatchers(const std::vector< G4NuclWatcher > &watchers)
Definition: G4Analyser.cc:64
void analyse(const G4CollisionOutput &output)
Definition: G4Analyser.cc:96
void try_watchers(G4int a, G4int z, G4bool if_nucl)
Definition: G4Analyser.cc:76