6#ifndef CALOTPCNV_CALOCOMPACTCELLTOOL_H
7#define CALOTPCNV_CALOCOMPACTCELLTOOL_H
18#include "CLHEP/Units/SystemOfUnits.h"
59 int getLogCompact(
const double &
x,
const double & log_x0,
const double & log_x1,
const int & n);
61 double unpackLog(
const int & log_x,
const double & log_x0,
const double & log_x1,
const int & n);
65 double unpackCubRoot(
const int & cbrt_x,
const double & cbrt_x1,
const int & n);
70 const double & log_x0,
71 const double & log_x1,
76 double log_x = log(
x);
77 if ( log_x >= log_x1 ) {
80 else if ( log_x > log_x0 ) {
82 result = (int)((log_x - log_x0)/(log_x1 - log_x0)*
nmax);
89 const double & cbrt_x1,
92 double cbrt_x=cbrt(
x);
93 if ( cbrt_x >= cbrt_x1 ) {
103 const double & log_x0,
104 const double & log_x1,
109 result = exp((log_x+0.5)*(log_x1-log_x0)/
nmax+log_x0);
115 const double & cbrt_x1,
120 double r = (cbrt_x+0.5)*cbrt_x1/
nmax;
Container class for CaloCell.
container class for CaloCompactCell objects
Hold thinning decisions for one container.