Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
SimGeneral
NoiseGenerators
interface
CorrelatedNoisifier.h
Go to the documentation of this file.
1
#ifndef SimAlgos_CorrelatedNoisifier_h
2
#define SimAlgos_CorrelatedNoisifier_h
3
23
#include "
DataFormats/Math/interface/Error.h
"
24
#include<vector>
25
26
namespace
CLHEP {
27
class
HepRandomEngine;
28
}
29
30
template
<
class
M>
31
class
CorrelatedNoisifier
32
{
33
public
:
34
35
typedef
std::vector<double>
VecDou
;
36
37
CorrelatedNoisifier
(
const
M& symCorMat );
//correlation matrix
38
39
CorrelatedNoisifier
(
int
* dummy,
const
M& cholDecMat );
//decomposition matrix
40
41
virtual
~CorrelatedNoisifier
() ;
42
43
void
resetCorrelationMatrix
(
const
M& symCorMat ) ;
44
45
void
resetCholDecompMatrix
(
const
M&
cholMat
) ;
46
47
template
<
class
T>
48
void
noisify
(
T
& frame ,
// applies random noise to frame
49
CLHEP::HepRandomEngine*,
50
const
VecDou
* rangau = 0 )
const
;
// use these
51
52
const
M&
cholMat
()
const
;
// return decomposition
53
54
const
VecDou
&
vecgau
()
const
;
55
56
private
:
57
58
static
const
double
k_precision
;
// precision to which 0 & 1 are compared
59
60
void
init
(
const
M& symCorMat ) ;
61
62
void
initChol
() ;
63
64
bool
computeDecomposition
(
const
M& symCorMat ) ;
65
66
bool
checkDecomposition
(
const
M& symCorMat ,
67
M& HHtDiff )
const
;
68
69
void
checkOffDiagonal
(
const
M& symCorMat ) ;
70
71
mutable
VecDou
m_vecgau
;
72
73
bool
m_isDiagonal
;
74
bool
m_isIdentity
;
75
76
M
m_H
;
77
};
78
79
80
#endif
CorrelatedNoisifier::m_isDiagonal
bool m_isDiagonal
Definition:
CorrelatedNoisifier.h:73
CorrelatedNoisifier
adds noise to the given frame.
Definition:
EcalCoder.h:11
CorrelatedNoisifier::computeDecomposition
bool computeDecomposition(const M &symCorMat)
CorrelatedNoisifier::cholMat
const M & cholMat() const
CorrelatedNoisifier::m_H
M m_H
Definition:
CorrelatedNoisifier.h:76
CorrelatedNoisifier::noisify
void noisify(T &frame, CLHEP::HepRandomEngine *, const VecDou *rangau=0) const
CorrelatedNoisifier::init
void init(const M &symCorMat)
Error.h
CorrelatedNoisifier::m_vecgau
VecDou m_vecgau
Definition:
CorrelatedNoisifier.h:71
CorrelatedNoisifier::CorrelatedNoisifier
CorrelatedNoisifier(const M &symCorMat)
CorrelatedNoisifier::checkOffDiagonal
void checkOffDiagonal(const M &symCorMat)
CorrelatedNoisifier::m_isIdentity
bool m_isIdentity
Definition:
CorrelatedNoisifier.h:74
CorrelatedNoisifier::initChol
void initChol()
CorrelatedNoisifier::~CorrelatedNoisifier
virtual ~CorrelatedNoisifier()
CorrelatedNoisifier::resetCholDecompMatrix
void resetCholDecompMatrix(const M &cholMat)
CorrelatedNoisifier::k_precision
static const double k_precision
Definition:
CorrelatedNoisifier.h:58
CorrelatedNoisifier::checkDecomposition
bool checkDecomposition(const M &symCorMat, M &HHtDiff) const
CorrelatedNoisifier::vecgau
const VecDou & vecgau() const
CorrelatedNoisifier::resetCorrelationMatrix
void resetCorrelationMatrix(const M &symCorMat)
T
long double T
Definition:
Basic3DVectorLD.h:57
CorrelatedNoisifier::VecDou
std::vector< double > VecDou
Definition:
CorrelatedNoisifier.h:35
Generated for CMSSW Reference Manual by
1.8.5