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.cc
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.cc
28 * Author: B. Wendt (wendbryc@isu.edu)
29 *
30 * Created on July 20, 2011, 11:55 AM
31 */
32
33#include <utility>
34
35#include "globals.hh"
36
38#include "G4FFGDefaultValues.hh"
39#include "G4ShiftedGaussian.hh"
40
43{
44 // Set the default verbosity
45 Verbosity_ = G4FFGDefaultValues::Verbosity;
46
47 // Initialize the class
48 Initialize();
49}
50
52G4ShiftedGaussian( G4int Verbosity )
53{
54 // Set the default verbosity
55 Verbosity_ = Verbosity;
56
57 // Initialize the class
58 Initialize();
59}
60
62Initialize( void )
63{
65
66 // Nothing here
67
69}
70
72G4FindShiftedMean( G4double RequestedMean,
73 G4double RequestedStdDev)
74{
76
77 std::size_t VectorSize = ShiftedMean_.size();
78
79 for(std::size_t i = 0; i < VectorSize; ++i)
80 {
81 if(ShiftedMean_[i].first.first == RequestedMean)
82 {
83 if(ShiftedMean_[i].first.second == RequestedStdDev)
84 {
86 return ShiftedMean_[i].second;
87 }
88 }
89 }
90
92 return 0.;
93}
94
96G4InsertShiftedMean( G4double ShiftedMean,
97 G4double RequestedMean,
98 G4double RequestedStdDev)
99{
101
102 ShiftedMean_.push_back(
103 std::make_pair(
104 std::make_pair(
105 RequestedMean,
106 RequestedStdDev),
107 ShiftedMean
108 )
109 );
110
112 return;
113}
114
116G4SetVerbosity(G4int Verbosity)
117{
119
120 Verbosity_ = Verbosity;
121
123}
124
127{
129
130 // Nothing here!
132}
133
#define G4FFG_FUNCTIONLEAVE__
#define G4FFG_FUNCTIONENTER__
#define G4FFG_SAMPLING_FUNCTIONENTER__
#define G4FFG_SAMPLING_FUNCTIONLEAVE__
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)