ATLAS Offline Software
Loading...
Searching...
No Matches
TFCS1DFunctionInt16Histogram Class Reference

#include <TFCS1DFunctionInt16Histogram.h>

Inheritance diagram for TFCS1DFunctionInt16Histogram:
Collaboration diagram for TFCS1DFunctionInt16Histogram:

Public Types

typedef uint16_t HistoContent_t

Public Member Functions

 TFCS1DFunctionInt16Histogram (const TH1 *hist=nullptr)
 ~TFCS1DFunctionInt16Histogram ()
void Initialize (const TH1 *hist)
virtual double rnd_to_fct (double rnd) const
 Function gets random number rnd in the range [0,1) as argument and returns function value according to a histogram distribution.
const std::vector< float > & get_HistoBordersx () const
std::vector< float > & get_HistoBordersx ()
const std::vector< HistoContent_t > & get_HistoContents () const
std::vector< HistoContent_t > & get_HistoContents ()
virtual void rnd_to_fct (float value[], const float rnd[]) const
 Function gets array of random numbers rnd[] in the range [0,1) as arguments and returns function value in array value.
virtual int ndim () const
 Return the number of dimensions for the function.
virtual bool operator== (const TFCS1DFunction &ref) const
 The == operator compares the content of instances.
virtual std::size_t MemorySize () const
 Gives the total memory size, including the size of additional memory allocated inside the class.
bool msgLvl (const MSG::Level lvl) const
 Check whether the logging system is active at the provided verbosity level.
MsgStream & msg () const
 Return a stream for sending messages directly (no decoration)
MsgStream & msg (const MSG::Level lvl) const
 Return a decorated starting stream for sending messages.
MSG::Level level () const
 Retrieve output level.
virtual void setLevel (MSG::Level lvl)
 Update outputlevel.

Static Public Member Functions

static void unit_test ATLAS_NOT_THREAD_SAFE (TH1 *hist=nullptr)
static double get_maxdev (TH1 *, TH1 *)
static double CheckAndIntegrate1DHistogram (const TH1 *hist, std::vector< double > &integral_vec, int &first, int &last)
static TH1 *generate_histogram_random_slope ATLAS_NOT_THREAD_SAFE (int nbinsx=50, double xmin=0, double xmax=1, double zerothreshold=0.1)
static TH1 *generate_histogram_random_gauss ATLAS_NOT_THREAD_SAFE (int nbinsx=50, int ntoy=100000, double xmin=1, double xmax=5, double xpeak=1.5, double sigma=0.6)
static void unit_test ATLAS_NOT_THREAD_SAFE (TH1 *hist, TFCS1DFunction *rtof, int nrnd=1000000, TH1 *histfine=nullptr)
static std::string startMsg (MSG::Level lvl, const std::string &file, int line)
 Make a message to decorate the start of logging.

Static Public Attributes

static const HistoContent_t s_MaxValue = UINT16_MAX

Protected Attributes

std::vector< float > m_HistoBorders
std::vector< HistoContent_tm_HistoContents

Private Attributes

std::string m_nm
 Message source name.

Static Private Attributes

static boost::thread_specific_ptr< MsgStream > m_msg_tls ATLAS_THREAD_SAFE
 Do not persistify!

Detailed Description

Definition at line 15 of file TFCS1DFunctionInt16Histogram.h.

Member Typedef Documentation

◆ HistoContent_t

Constructor & Destructor Documentation

◆ TFCS1DFunctionInt16Histogram()

TFCS1DFunctionInt16Histogram::TFCS1DFunctionInt16Histogram ( const TH1 * hist = nullptr)
inline

Definition at line 17 of file TFCS1DFunctionInt16Histogram.h.

17 {
18 if (hist)
19 Initialize(hist);
20 };

◆ ~TFCS1DFunctionInt16Histogram()

TFCS1DFunctionInt16Histogram::~TFCS1DFunctionInt16Histogram ( )
inline

Definition at line 21 of file TFCS1DFunctionInt16Histogram.h.

21{};

Member Function Documentation

◆ ATLAS_NOT_THREAD_SAFE() [1/4]

TH1 *generate_histogram_random_slope TFCS1DFunction::ATLAS_NOT_THREAD_SAFE ( int nbinsx = 50,
double xmin = 0,
double xmax = 1,
double zerothreshold = 0.1 )
staticinherited

◆ ATLAS_NOT_THREAD_SAFE() [2/4]

TH1 *generate_histogram_random_gauss TFCS1DFunction::ATLAS_NOT_THREAD_SAFE ( int nbinsx = 50,
int ntoy = 100000,
double xmin = 1,
double xmax = 5,
double xpeak = 1.5,
double sigma = 0.6 )
staticinherited

◆ ATLAS_NOT_THREAD_SAFE() [3/4]

void unit_test TFCS1DFunction::ATLAS_NOT_THREAD_SAFE ( TH1 * hist,
TFCS1DFunction * rtof,
int nrnd = 1000000,
TH1 * histfine = nullptr )
staticinherited

◆ ATLAS_NOT_THREAD_SAFE() [4/4]

void unit_test TFCS1DFunctionInt16Histogram::ATLAS_NOT_THREAD_SAFE ( TH1 * hist = nullptr)
static

◆ CheckAndIntegrate1DHistogram()

double TFCS1DFunction::CheckAndIntegrate1DHistogram ( const TH1 * hist,
std::vector< double > & integral_vec,
int & first,
int & last )
staticinherited

Definition at line 53 of file TFCS1DFunction.cxx.

54 {
55 ISF_FCS::MLogging logger;
56 Int_t nbins = hist->GetNbinsX();
57
58 float integral = 0;
59 integral_vec.resize(nbins);
60 for (int ix = 1; ix <= nbins; ix++) {
61 float binval = hist->GetBinContent(ix);
62 if (binval < 0) {
63 // Can't work if a bin is negative, forcing bins to 0 in this case
64 double fraction = binval / hist->Integral();
65 if (std::abs(fraction) > 1e-5) {
66 ATH_MSG_NOCLASS(logger, "Warning: bin content is negative in histogram "
67 << hist->GetName() << " : "
68 << hist->GetTitle() << " binval=" << binval
69 << " " << fraction * 100
70 << "% of integral=" << hist->Integral()
71 << ". Forcing bin to 0.");
72 }
73 binval = 0;
74 }
75 integral += binval;
76 integral_vec[ix - 1] = integral;
77 }
78
79 for (first = 0; first < nbins; first++)
80 if (integral_vec[first] != 0)
81 break;
82 for (last = nbins - 1; last > 0; last--)
83 if (integral_vec[last] != integral)
84 break;
85 last++;
86
87 if (integral <= 0) {
88 ATH_MSG_NOCLASS(logger, "Error: histogram "
89 << hist->GetName() << " : " << hist->GetTitle()
90 << " integral=" << integral << " is <=0");
91 }
92 return integral;
93}
#define ATH_MSG_NOCLASS(logger_name, x)
Definition MLogging.h:52
double integral(TH1 *h)
Definition computils.cxx:59
static Root::TMsgLogger logger("iLumiCalc")
bool first
Definition DeMoScan.py:534

◆ get_HistoBordersx() [1/2]

std::vector< float > & TFCS1DFunctionInt16Histogram::get_HistoBordersx ( )
inline

Definition at line 37 of file TFCS1DFunctionInt16Histogram.h.

37{ return m_HistoBorders; };

◆ get_HistoBordersx() [2/2]

const std::vector< float > & TFCS1DFunctionInt16Histogram::get_HistoBordersx ( ) const
inline

Definition at line 34 of file TFCS1DFunctionInt16Histogram.h.

34 {
35 return m_HistoBorders;
36 };

◆ get_HistoContents() [1/2]

std::vector< HistoContent_t > & TFCS1DFunctionInt16Histogram::get_HistoContents ( )
inline

Definition at line 41 of file TFCS1DFunctionInt16Histogram.h.

41{ return m_HistoContents; };
std::vector< HistoContent_t > m_HistoContents

◆ get_HistoContents() [2/2]

const std::vector< HistoContent_t > & TFCS1DFunctionInt16Histogram::get_HistoContents ( ) const
inline

Definition at line 38 of file TFCS1DFunctionInt16Histogram.h.

38 {
39 return m_HistoContents;
40 };

◆ get_maxdev()

double TFCS1DFunction::get_maxdev ( TH1 * h_input1,
TH1 * h_approx1 )
staticinherited

Definition at line 22 of file TFCS1DFunction.cxx.

22 {
23 TH1D *h_input = (TH1D *)h_input1->Clone("h_input");
24 TH1D *h_approx = (TH1D *)h_approx1->Clone("h_approx");
25
26 double maxdev = 0.0;
27
28 // normalize the histos to the same area:
29 double integral_input = h_input->Integral();
30 double integral_approx = 0.0;
31 for (int b = 1; b <= h_input->GetNbinsX(); b++)
32 integral_approx +=
33 h_approx->GetBinContent(h_approx->FindBin(h_input->GetBinCenter(b)));
34 h_approx->Scale(integral_input / integral_approx);
35
36 double ymax = h_approx->GetBinContent(h_approx->GetNbinsX()) -
37 h_approx->GetBinContent(h_approx->GetMinimumBin());
38 for (int i = 1; i <= h_input->GetNbinsX(); i++) {
39 double val = std::abs(h_approx->GetBinContent(
40 h_approx->FindBin(h_input->GetBinCenter(i))) -
41 h_input->GetBinContent(i)) /
42 ymax;
43 if (val > maxdev)
44 maxdev = val;
45 }
46
47 delete h_input;
48 delete h_approx;
49
50 return maxdev * 100.0;
51}
double ymax
Definition listroot.cxx:64

◆ Initialize()

void TFCS1DFunctionInt16Histogram::Initialize ( const TH1 * hist)

Definition at line 21 of file TFCS1DFunctionInt16Histogram.cxx.

21 {
22 Int_t nbinsx = hist->GetNbinsX();
23 Int_t nbins = nbinsx;
24
25 float integral = 0;
26 m_HistoBorders.resize(nbinsx + 1);
27 m_HistoContents.resize(nbins);
28 std::vector<double> temp_HistoContents(nbins);
29 int ibin = 0;
30 for (int ix = 1; ix <= nbinsx; ix++) {
31 float binval = hist->GetBinContent(ix);
32 if (binval < 0) {
33 // Can't work if a bin is negative, forcing bins to 0 in this case
34 double fraction = binval / hist->Integral();
35 if (TMath::Abs(fraction) > 1e-5) {
36 ATH_MSG_WARNING("bin content is negative in histogram "
37 << hist->GetName() << " : " << hist->GetTitle()
38 << " binval=" << binval << " " << fraction * 100
39 << "% of integral=" << hist->Integral()
40 << ". Forcing bin to 0.");
41 }
42 binval = 0;
43 }
44 integral += binval;
45 temp_HistoContents[ibin] = integral;
46 ++ibin;
47 }
48 if (integral <= 0) {
49 ATH_MSG_ERROR("histogram " << hist->GetName() << " : " << hist->GetTitle()
50 << " integral=" << integral << " is <=0");
51 m_HistoBorders.resize(0);
52 m_HistoContents.resize(0);
53 return;
54 }
55
56 for (int ix = 1; ix <= nbinsx; ix++)
57 m_HistoBorders[ix - 1] = hist->GetXaxis()->GetBinLowEdge(ix);
58 m_HistoBorders[nbinsx] = hist->GetXaxis()->GetXmax();
59
60 for (ibin = 0; ibin < nbins; ++ibin) {
61 m_HistoContents[ibin] = s_MaxValue * (temp_HistoContents[ibin] / integral);
62 // ATH_MSG_INFO("bin="<<ibin<<" val="<<m_HistoContents[ibin]);
63 }
64}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_WARNING(x)
static const HistoContent_t s_MaxValue

◆ level()

MSG::Level ISF_FCS::MLogging::level ( ) const
inlineinherited

Retrieve output level.

Definition at line 201 of file MLogging.h.

201{ return msg().level(); }
MsgStream & msg() const
Return a stream for sending messages directly (no decoration)
Definition MLogging.h:231

◆ MemorySize()

virtual std::size_t TFCSFunction::MemorySize ( ) const
inlinevirtualinherited

Gives the total memory size, including the size of additional memory allocated inside the class.

Reimplemented in TFCS1DFunctionTemplateHistogram< Txvec, Ty, Trandom >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, TFCS1DFunctionTemplateHistogram< Txvec, Ty, float >, TFCS2DFunctionTemplateHistogram< Txvec, Tyvec, Tz, Trandom >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, and TFCS2DFunctionTemplateHistogram< Txvec, Tyvec, Tz, float >.

Definition at line 19 of file TFCSFunction.h.

19{ return sizeof(*this); };

◆ msg() [1/2]

MsgStream & ISF_FCS::MLogging::msg ( ) const
inlineinherited

Return a stream for sending messages directly (no decoration)

Definition at line 231 of file MLogging.h.

231 {
232 MsgStream *ms = m_msg_tls.get();
233 if (!ms) {
234 ms = new MsgStream(Athena::getMessageSvc(), m_nm);
235 m_msg_tls.reset(ms);
236 }
237 return *ms;
238}
std::string m_nm
Message source name.
Definition MLogging.h:211
IMessageSvc * getMessageSvc(bool quiet=false)

◆ msg() [2/2]

MsgStream & ISF_FCS::MLogging::msg ( const MSG::Level lvl) const
inlineinherited

Return a decorated starting stream for sending messages.

Definition at line 240 of file MLogging.h.

240 {
241 return msg() << lvl;
242}

◆ msgLvl()

bool ISF_FCS::MLogging::msgLvl ( const MSG::Level lvl) const
inlineinherited

Check whether the logging system is active at the provided verbosity level.

Definition at line 222 of file MLogging.h.

222 {
223 if (msg().level() <= lvl) {
224 msg() << lvl;
225 return true;
226 } else {
227 return false;
228 }
229}
MSG::Level level() const
Retrieve output level.
Definition MLogging.h:201

◆ ndim()

virtual int TFCS1DFunction::ndim ( ) const
inlinevirtualinherited

Return the number of dimensions for the function.

Reimplemented from TFCSFunction.

Definition at line 22 of file TFCS1DFunction.h.

22{ return 1; };

◆ operator==()

virtual bool TFCS1DFunction::operator== ( const TFCS1DFunction & ref) const
inlinevirtualinherited

The == operator compares the content of instances.

The implementation in the base class only returns true for a comparison with itself

Reimplemented in TFCS1DFunctionInt32Histogram.

Definition at line 36 of file TFCS1DFunction.h.

36 {
37 return this == &ref;
38 };
const boost::regex ref(r_ef)

◆ rnd_to_fct() [1/2]

double TFCS1DFunctionInt16Histogram::rnd_to_fct ( double rnd) const
virtual

Function gets random number rnd in the range [0,1) as argument and returns function value according to a histogram distribution.

Implements TFCS1DFunction.

Definition at line 66 of file TFCS1DFunctionInt16Histogram.cxx.

66 {
67 if (m_HistoContents.empty()) {
68 return 0;
69 }
70 HistoContent_t int_rnd = s_MaxValue * rnd;
71 auto it =
72 std::upper_bound(m_HistoContents.begin(), m_HistoContents.end(), int_rnd);
73 int ibin = std::distance(m_HistoContents.begin(), it);
74 if (ibin >= (int)m_HistoContents.size())
75 ibin = m_HistoContents.size() - 1;
76 Int_t binx = ibin;
77
78 HistoContent_t basecont = 0;
79 if (ibin > 0)
80 basecont = m_HistoContents[ibin - 1];
81
82 HistoContent_t dcont = m_HistoContents[ibin] - basecont;
83 if (dcont > 0) {
84 return m_HistoBorders[binx] +
85 ((m_HistoBorders[binx + 1] - m_HistoBorders[binx]) *
86 (int_rnd - basecont)) /
87 dcont;
88 } else {
89 return m_HistoBorders[binx] +
90 (m_HistoBorders[binx + 1] - m_HistoBorders[binx]) / 2;
91 }
92}
static TRandom * rnd

◆ rnd_to_fct() [2/2]

void TFCS1DFunction::rnd_to_fct ( float value[],
const float rnd[] ) const
virtual

Function gets array of random numbers rnd[] in the range [0,1) as arguments and returns function value in array value.

For a n-dimensional function, value and rnd should both have n elements.

Reimplemented from TFCS1DFunction.

Definition at line 27 of file TFCS1DFunction.cxx.

18 {
19 value[0] = rnd_to_fct(rnd[0]);
20}
virtual double rnd_to_fct(double rnd) const
Function gets random number rnd in the range [0,1) as argument and returns function value according t...

◆ setLevel()

void ISF_FCS::MLogging::setLevel ( MSG::Level lvl)
virtualinherited

Update outputlevel.

Definition at line 105 of file MLogging.cxx.

105 {
106 lvl = (lvl >= MSG::NUM_LEVELS) ? MSG::ALWAYS
107 : (lvl < MSG::NIL) ? MSG::NIL
108 : lvl;
109 msg().setLevel(lvl);
110}

◆ startMsg()

std::string ISF_FCS::MLogging::startMsg ( MSG::Level lvl,
const std::string & file,
int line )
staticinherited

Make a message to decorate the start of logging.

Print a message for the start of logging.

Definition at line 116 of file MLogging.cxx.

116 {
117 int col1_len = 20;
118 int col2_len = 5;
119 int col3_len = 10;
120 auto last_slash = file.find_last_of('/');
121 int path_len = last_slash == std::string::npos ? 0 : last_slash;
122 int trim_point = path_len;
123 int total_len = file.length();
124 if (total_len - path_len > col1_len)
125 trim_point = total_len - col1_len;
126 std::string trimmed_name = file.substr(trim_point);
127 const char *LevelNames[MSG::NUM_LEVELS] = {
128 "NIL", "VERBOSE", "DEBUG", "INFO", "WARNING", "ERROR", "FATAL", "ALWAYS"};
129 std::string level = LevelNames[lvl];
130 std::string level_string = std::string("(") + level + ") ";
131 std::stringstream output;
132 output << std::setw(col1_len) << std::right << trimmed_name << ":"
133 << std::setw(col2_len) << std::left << line << std::setw(col3_len)
134 << std::right << level_string;
135 return output.str();
136}
output
Definition merge.py:16
TFile * file

Member Data Documentation

◆ ATLAS_THREAD_SAFE

boost::thread_specific_ptr<MsgStream> m_msg_tls ISF_FCS::MLogging::ATLAS_THREAD_SAFE
inlinestaticprivateinherited

Do not persistify!

MsgStream instance (a std::cout like with print-out levels)

Definition at line 215 of file MLogging.h.

◆ m_HistoBorders

std::vector<float> TFCS1DFunctionInt16Histogram::m_HistoBorders
protected

Definition at line 46 of file TFCS1DFunctionInt16Histogram.h.

◆ m_HistoContents

std::vector<HistoContent_t> TFCS1DFunctionInt16Histogram::m_HistoContents
protected

Definition at line 47 of file TFCS1DFunctionInt16Histogram.h.

◆ m_nm

std::string ISF_FCS::MLogging::m_nm
privateinherited

Message source name.

Definition at line 211 of file MLogging.h.

◆ s_MaxValue

const TFCS1DFunctionInt16Histogram::HistoContent_t TFCS1DFunctionInt16Histogram::s_MaxValue = UINT16_MAX
static

Definition at line 28 of file TFCS1DFunctionInt16Histogram.h.


The documentation for this class was generated from the following files: