1#ifndef GainChannelNormalize_h
2#define GainChannelNormalize_h
23#include "IException.h"
43 Module(
"GainChannelNormalize") {
52 void init(
const HiCalConf &conf) {
57 double bin =
ToDouble(prof(
"Summing"));
59 double _normalizer = 128.0 / tdi / (bin*bin);
69 else if ( z.dim() == nsamps) {
73 std::ostringstream mess;
74 mess <<
"Expected 1 or " << nsamps <<
" values from CSV file "
75 <<
getcsvFile() <<
" but got " << z.dim() <<
" instead!";
76 throw IException(IException::User, mess.str(), _FILEINFO_);
80 for (
int i = 0 ; i <
_data.dim() ; i++ ) {
_data[i] *= _normalizer; }
A DbProfile is a container for access parameters to a database.
Definition DbProfile.h:51
QString Name() const
Returns the name of this property.
Definition DbProfile.h:104
GainChannelNormalize(const HiCalConf &conf)
Definition GainChannelNormalize.h:42
GainChannelNormalize()
Definition GainChannelNormalize.h:41
virtual ~GainChannelNormalize()
Destructor.
Definition GainChannelNormalize.h:48
void clear()
Definition HiCalTypes.h:65
void add(const QString &event)
Definition HiCalTypes.h:55
HiVector _data
Data vector.
Definition Module.h:151
QString getcsvFile() const
Returns expanded name of last CSV file loaded by loadCsv.
Definition Module.h:71
HiHistory _history
Hierarchial component history.
Definition Module.h:152
Module()
Definition Module.h:48
HiVector loadCsv(const QString &csvBase, const HiCalConf &conf, const DbProfile &prof, const int &elements=0)
Provide generic loading of CSV file for all modules.
Definition Module.h:101
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
TNT::Array1D< double > HiVector
1-D Buffer
Definition HiCalTypes.h:27
QString ToString(const T &value)
Helper function to convert values to strings.
Definition HiCalUtil.h:236
double ToDouble(const T &value)
Helper function to convert values to doubles.
Definition HiCalUtil.h:224
int ToInteger(const T &value)
Helper function to convert values to Integers.
Definition HiCalUtil.h:212