Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4ShiftedGaussian.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/*
27 * File: G4ShiftedGaussian.hh
28 * Author: B. Wendt (wendbryc@isu.edu)
29 *
30 * Created on July 20, 2011, 11:55 AM
31 */
32
33#ifndef G4SHIFTEDGAUSSIAN_HH
34#define G4SHIFTEDGAUSSIAN_HH
35
36#include <utility>
37#include <vector>
38
39#include "globals.hh"
40
41/** G4ShiftedGaussian is a class for storing the shifted values used for
42 * sampling a Gaussian distribution and returning only positive values; it is
43 * integrated into G4FPYSamplingOps
44 */
46{
47public:
48// Constructor definition
49 /** Default constructor
50 * - Usage: No arguments required
51 * - Notes:
52 */
53 G4ShiftedGaussian( void );
54 /** Overloaded constructor
55 * - Usage:
56 * - \p Verbosity: Verbosity level
57 * - Notes:
58 */
59 G4ShiftedGaussian( G4int Verbosity );
60protected:
61 /** Initialize is a common function called by all constructors. */
62 void Initialize( void );
63
64public:
65// Functions
66 /** Returns the shifted mean that correlates to a \p RequestedMean and
67 * \p RequestedStdDev pair. 0 is returned if there is no associated value.
68 */
69 G4double G4FindShiftedMean( G4double RequestedMean,
70 G4double RequestedStdDev );
71 /** Inserts a \p ShiftedMean indexed by the \p RequestedMean and
72 * \p RequestedStdDev
73 */
74 void G4InsertShiftedMean( G4double ShiftedMean,
75 G4double RequestedMean,
76 G4double RequestedStdDev );
77 /** Sets the verbosity levels
78 * - Usage:
79 * - \p WhichVerbosity: Combination of levels
80 *
81 * - Notes:
82 * - \p SILENT: All verbose output is repressed
83 * - \p UPDATES: Only high-level internal changes are reported
84 * - \p DAUGHTER_INFO: Displays information about daughter product sampling
85 * - \p NEUTRON_INFO: Displays information about neutron sampling
86 * - \p GAMMA_INFO: Displays information about gamma sampling
87 * - \p ALPHA_INFO: Displays information about alpha sampling
88 * - \p MOMENTUM_INFO: Displays information about momentum balancing
89 * - \p EXTRAPOLATION_INTERPOLATION_INFO: Displays information about any data extrapolation or interpolation that occurs
90 * - \p DEBUG: Reports program flow as it steps through functions
91 * - \p PRINT_ALL: Displays any and all output
92 */
93 void G4SetVerbosity( G4int WhatVerbosity );
94
95protected:
96 /** Contains the adjusted mean of the POSITIVE only Gaussian distribution
97 * associated with a \p RequestedMean and \p RequestedStdDev pair.
98 */
99 std::vector<
100 std::pair<
101 std::pair<
102 G4double,
104 >,
106 >
108 /** Verbosity level */
110
111// Destructor function(s)
112public:
113 /** Default deconstructor. */
114 ~G4ShiftedGaussian( void );
115};
116
117#endif /* G4SHIFTEDGAUSSIAN_HH */
118
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
std::vector< std::pair< std::pair< G4double, G4double >, G4double > > ShiftedMean_
void G4InsertShiftedMean(G4double ShiftedMean, G4double RequestedMean, G4double RequestedStdDev)
G4double G4FindShiftedMean(G4double RequestedMean, G4double RequestedStdDev)
void G4SetVerbosity(G4int WhatVerbosity)