ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4StatDouble.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4StatDouble.hh
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
//
28
//
29
// ----------------------------------------------------------------------
30
// Class G4StatDouble
31
//
32
// Class description:
33
//
34
// Class providing simple "one variable statistics" capability.
35
36
// Original Author: Giovanni Santin (ESA) - October 2005 in GRAS tool
37
// Adaptation and comments by: John Apostolakis (CERN) - November 2011
38
39
#ifndef G4StatDouble_h
40
#define G4StatDouble_h 1
41
42
#include "
globals.hh
"
43
44
class
G4StatDouble
45
{
46
47
public
:
48
G4StatDouble
();
49
G4StatDouble
(
G4double
);
50
virtual
~G4StatDouble
();
51
52
public
:
53
54
G4StatDouble
(
const
G4StatDouble
&) =
default
;
55
56
G4StatDouble
&
operator=
(
const
G4double
&rhs)
57
{
58
reset
();
59
fill
(rhs);
60
return
*
this
;
61
}
62
G4StatDouble
&
operator=
(
const
G4StatDouble
&rhs)
63
{
64
m_sum_wx
= rhs.
m_sum_wx
;
65
m_sum_wx2
= rhs.
m_sum_wx2
;
66
m_n
= rhs.
m_n
;
67
m_sum_w
= rhs.
m_sum_w
;
68
m_sum_w2
= rhs.
m_sum_w2
;
69
m_scale
= rhs.
m_scale
;
70
return
*
this
;
71
}
72
G4StatDouble
&
operator+=
(
const
G4double
&rhs)
73
{
fill
(rhs);
return
*
this
; }
74
G4StatDouble
&
operator+=
(
const
G4StatDouble
&rhs)
75
{
add
(&rhs);
return
*
this
; }
76
77
public
:
78
79
void
reset
();
80
void
fill
(
G4double
x
,
G4double
weight
=1.);
81
// Add new data point: value "x" with weight
82
void
scale
(
G4double
);
83
// Reset scale
84
85
G4double
mean
()
const
;
86
G4double
rms
();
87
// The moments
88
89
G4double
mean
(
G4double
ext_sum_w)
const
;
90
// Mean scaled to sum of weights
91
G4double
rms
(
G4double
ext_sum_w,
G4int
ext_n);
92
// RMS scaled to sum of weights
93
94
void
add
(
const
G4StatDouble
*);
95
// merge 2 statistics
96
97
inline
G4int
n
()
const
{
return
m_n
; }
98
inline
G4double
sum_w
()
const
{
return
m_sum_w
; }
99
inline
G4double
sum_w2
()
const
{
return
m_sum_w2
; }
100
inline
G4double
sum_wx
()
const
{
return
m_sum_wx
; }
101
inline
G4double
sum_wx2
()
const
{
return
m_sum_wx2
; }
102
103
protected
:
104
105
G4double
rms
(
G4double
sum_wx
,
G4double
sum_wx2
,
G4double
sum_w
,
G4int
n
);
106
107
protected
:
108
109
G4double
m_sum_wx
;
110
G4double
m_sum_wx2
;
111
G4int
m_n
;
112
G4double
m_sum_w
;
113
G4double
m_sum_w2
;
114
G4double
m_scale
;
115
};
116
117
#endif
geant4
tree
geant4-10.6-release
source
global
HEPNumerics
include
G4StatDouble.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:20
using
1.8.2 with
ECCE GitHub integration