Covariance matrices for offline ECL waveform fit.
More...
#include <ECLAutoCovariance.h>
Covariance matrices for offline ECL waveform fit.
Definition at line 35 of file ECLAutoCovariance.h.
◆ ECLAutoCovariance()
◆ ~ECLAutoCovariance()
◆ getAutoCovariance()
void getAutoCovariance |
( |
const int |
cellID, |
|
|
double |
acov[31] |
|
) |
| const |
|
inline |
Get auto covariance for a channel.
Definition at line 56 of file ECLAutoCovariance.h.
57 {
59 const PackedAutoCovariance& tempPacked =
m_acov[cellID - 1];
60 acov[0] = static_cast<double>(tempPacked.sigmaNoiseSq);
61 const double norm = acov[0] * (1.0 / 32767);
62 for (int i = 0; i < 30; i++) acov[i + 1] = norm * static_cast<double>(tempPacked.packedCovMat[i]);
63 }
PackedAutoCovariance m_acov[ECLElementNumbers::c_NCrystals]
Packed autocovariance matrix for each crystal.
const int c_NCrystals
Number of crystals.
◆ getPacked()
◆ setAutoCovariance()
void setAutoCovariance |
( |
const int |
cellID, |
|
|
const double |
acov[31] |
|
) |
| |
|
inline |
Set auto covariance for a channel.
Definition at line 66 of file ECLAutoCovariance.h.
67 {
69 const double norm = 32767 / acov[0];
70 PackedAutoCovariance& tempPacked =
m_acov[cellID - 1];
72 for (int i = 0; i < 30; i++)
73 tempPacked.packedCovMat[i] = static_cast<short int>(std::max(-32767.0, std::min(acov[i + 1] * norm, 32767.0)));
74 }
float sigmaNoiseSq
sigma noise squared in ADC channels
◆ m_acov
The documentation for this class was generated from the following file: