diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt index 97f8b0901d8964b7b1d44d4403fa9bfa61f8731d..d1ad92ba48afef60852c598beca6efca677e9181 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt @@ -34,7 +34,8 @@ atlas_add_root_dictionary( ISF_FastCaloSimEvent _dictSource ISF_FastCaloSimEvent/TFCS2DFunction.h ISF_FastCaloSimEvent/TFCS2DFunctionHistogram.h ISF_FastCaloSimEvent/TFCS2DFunctionTemplateHistogram.h - ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationHistogram.h + ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationHistogram.h + ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationExpHistogram.h ISF_FastCaloSimEvent/TFCSParametrizationBase.h ISF_FastCaloSimEvent/TFCSParametrizationPlaceholder.h ISF_FastCaloSimEvent/TFCSParametrization.h diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h index 503cdc8a1af64a32745dfa43edb768c02256acff..421d8da598c07621ed55be4056e23254db031f91 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h @@ -19,6 +19,7 @@ #include "ISF_FastCaloSimEvent/TFCS2DFunctionHistogram.h" #include "ISF_FastCaloSimEvent/TFCS2DFunctionTemplateHistogram.h" #include "ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationHistogram.h" +#include "ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationExpHistogram.h" #include "ISF_FastCaloSimEvent/TFCSParametrizationBase.h" #include "ISF_FastCaloSimEvent/TFCSParametrizationPlaceholder.h" @@ -42,6 +43,9 @@ #include "ISF_FastCaloSimEvent/TFCSEnergyAndHitGAN.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrization.h" +#include "ISF_FastCaloSimEvent/TFCSHistoLateralShapeGausLogWeight.h" +#include "ISF_FastCaloSimEvent/TFCSHistoLateralShapeGausLogWeightHitAndMiss.h" + #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitBase.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitChain.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationFluctChain.h" @@ -51,9 +55,7 @@ #include "ISF_FastCaloSimEvent/TFCSHistoLateralShapeParametrizationFCal.h" #include "ISF_FastCaloSimEvent/TFCS2DFunctionLateralShapeParametrization.h" #include "ISF_FastCaloSimEvent/TFCSHistoLateralShapeWeight.h" -#include "ISF_FastCaloSimEvent/TFCSHistoLateralShapeGausLogWeight.h" #include "ISF_FastCaloSimEvent/TFCSHistoLateralShapeWeightHitAndMiss.h" -#include "ISF_FastCaloSimEvent/TFCSHistoLateralShapeGausLogWeightHitAndMiss.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitNumberFromE.h" #include "ISF_FastCaloSimEvent/TFCSHitCellMapping.h" #include "ISF_FastCaloSimEvent/TFCSHitCellMappingFCal.h" @@ -142,21 +144,56 @@ #pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; #pragma link C++ class TFCS2DFunctionInt8Int8Int8Histogram+; #pragma link C++ class TFCS2DFunctionInt8Int8Int16Histogram+; #pragma link C++ class TFCS2DFunctionInt8Int8Int32Histogram+; - #pragma link C++ class TFCS2DFunctionInt8Int16Int8Histogram+; #pragma link C++ class TFCS2DFunctionInt8Int16Int16Histogram+; #pragma link C++ class TFCS2DFunctionInt8Int16Int32Histogram+; - +#pragma link C++ class TFCS2DFunctionInt8Int32Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int32Histogram+; #pragma link C++ class TFCS2DFunctionInt16Int16Int8Histogram+; #pragma link C++ class TFCS2DFunctionInt16Int16Int16Histogram+; #pragma link C++ class TFCS2DFunctionInt16Int16Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int32Histogram+; + #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; @@ -164,21 +201,87 @@ #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; + + +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; + #pragma link C++ class TFCS2DFunctionInt8Int8Int8InterpolationHistogram+; #pragma link C++ class TFCS2DFunctionInt8Int8Int16InterpolationHistogram+; #pragma link C++ class TFCS2DFunctionInt8Int8Int32InterpolationHistogram+; - #pragma link C++ class TFCS2DFunctionInt8Int16Int8InterpolationHistogram+; #pragma link C++ class TFCS2DFunctionInt8Int16Int16InterpolationHistogram+; #pragma link C++ class TFCS2DFunctionInt8Int16Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int32InterpolationHistogram+; #pragma link C++ class TFCS2DFunctionInt16Int16Int8InterpolationHistogram+; #pragma link C++ class TFCS2DFunctionInt16Int16Int16InterpolationHistogram+; #pragma link C++ class TFCS2DFunctionInt16Int16Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int32InterpolationHistogram+; + +#pragma link C++ class TFCS2DFunctionInt32Int8Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int32InterpolationHistogram+; ///End Linkdefs needed for template based histograms diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionTemplateHelpers.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionTemplateHelpers.h index 1a3c17024ee514df5e8b960e83b5e7771a6b4367..9f81d9a123e2ed9b393447d310779dc1c3a37ac8 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionTemplateHelpers.h +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionTemplateHelpers.h @@ -251,15 +251,31 @@ template<typename T,typename Trandom=float> class TFCS1DFunction_HistogramBinEdg return (1-drnd)*m_array[pos] + drnd*m_array[pos+1]; }; - ///return interpolated position for bin pos, such that histograming the position gives a linear slope m, + ///return linearly interpolated position for bin pos, such that histograming the position gives a linear slope m, ///where m is in units of the bin width for bin pos. Interpolation is done with a random value in the range [0,1] - inline T position(size_t pos,Trandom m,const Trandom& drnd) const { + inline T position_lin(size_t pos,Trandom m,const Trandom& drnd) const { if(m>2) m=2; if(m<-2) m=-2; Trandom x=fabs(m)>0.001 ? (0.5*std::sqrt(m*(m+8*drnd-4)+4)-1)/m+0.5 : drnd; return (1-x)*m_array[pos] + x*m_array[pos+1]; }; + ///return exponetially interpolated position for bin pos, such that histograming the position gives a linear slope m, + ///where m is in units of the bin width for bin pos. Interpolation is done with a random value in the range [0,1] + inline T position_exp(size_t pos,Trandom beta,const Trandom& drnd) const { + Trandom z = drnd;///(m_array[pos+1] - m_array[pos]); + T pos1=GetBinLowEdge(pos); + T pos2=GetBinLowEdge(pos+1); + if(fabs(beta) < 1.0e-8) return (1-z)*pos1 + z*pos2; + else + { T deltax = m_array[pos+1] - m_array[pos]; + if(deltax == 0) return m_array[pos]; + else{ z = 1/beta*log( 1.0 + drnd*(exp(beta*deltax) - 1.0) )/deltax; } + } + + return (1-z)*pos1 + z*pos2; + }; + private: TFCS1DFunction_Array<T> m_array; inline size_t size() const {return m_array.size();}; @@ -353,7 +369,11 @@ template<typename T,typename Tint,typename Trandom=float> class TFCS1DFunction_H ///return interpolated position for bin pos, such that histograming the position gives a linear slope m, ///where m is in units of the bin width for bin pos. Interpolation is done with a random value in the range [0,1] - inline T position(size_t pos,Trandom m,const Trandom& drnd) const { + + + ///return linearly interpolated position for bin pos, such that histograming the position gives a linear slope m, + ///where m is in units of the bin width for bin pos. Interpolation is done with a random value in the range [0,1] + inline T position_lin(size_t pos,Trandom m,const Trandom& drnd) const { if(m>2) m=2; if(m<-2) m=-2; Trandom x=fabs(m)>0.001 ? (0.5*std::sqrt(m*(m+8*drnd-4)+4)-1)/m+0.5 : drnd; @@ -361,6 +381,23 @@ template<typename T,typename Tint,typename Trandom=float> class TFCS1DFunction_H T pos2=GetBinLowEdge(pos+1); return (1-x)*pos1 + x*pos2; }; + + ///return exponentially interpolated position for bin pos, such that histograming the position gives a linear slope m, + ///where m is in units of the bin width for bin pos. Interpolation is done with a random value in the range [0,1] + inline T position_exp(size_t pos,Trandom beta,const Trandom& drnd) const { + Trandom z = drnd;///(m_array[pos+1] - m_array[pos]); + T pos1=GetBinLowEdge(pos); + T pos2=GetBinLowEdge(pos+1); + if(fabs(beta) < 1.0e-8) return (1-z)*pos1 + z*pos2; + else + { T deltax = m_array[pos+1] - m_array[pos]; + if(deltax == 0) return m_array[pos]; + else{ z = 1/beta*log( 1.0 + drnd*(exp(beta*deltax) - 1.0) )/deltax; } + } + + return (1-z)*pos1 + z*pos2; + }; + private: TFCS1DFunction_Array<Tint> m_array; @@ -395,4 +432,42 @@ class TFCS1DFunction_HistogramInt32BinEdges: public TFCS1DFunction_HistogramComp ClassDefNV(TFCS1DFunction_HistogramInt32BinEdges,1) //TFCS1DFunction_HistogramInt32BinEdges }; + +#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__) +#pragma link C++ class TFCS1DFunction_Numeric<uint8_t,float>+; +#pragma link C++ class TFCS1DFunction_Numeric<uint16_t,float>+; +#pragma link C++ class TFCS1DFunction_Numeric<uint32_t,float>+; +#pragma link C++ class TFCS1DFunction_Numeric<float,float>+; +#pragma link C++ class TFCS1DFunction_Numeric<double,float>+; +#pragma link C++ class TFCS1DFunction_Numeric<double,double>+; + +#pragma link C++ class TFCS1DFunction_Array<float>-; +#pragma link C++ class TFCS1DFunction_Array<double>-; +#pragma link C++ class TFCS1DFunction_Array<uint8_t>-; +#pragma link C++ class TFCS1DFunction_Array<uint16_t>-; +#pragma link C++ class TFCS1DFunction_Array<uint32_t>-; + +#pragma link C++ class TFCS1DFunction_HistogramContent<float,float>+; +#pragma link C++ class TFCS1DFunction_HistogramContent<double,float>+; +#pragma link C++ class TFCS1DFunction_HistogramContent<double,double>+; +#pragma link C++ class TFCS1DFunction_HistogramContent<uint8_t,float>+; +#pragma link C++ class TFCS1DFunction_HistogramContent<uint16_t,float>+; +#pragma link C++ class TFCS1DFunction_HistogramContent<uint32_t,float>+; + +#pragma link C++ class TFCS1DFunction_HistogramBinEdges<float,float>+; +#pragma link C++ class TFCS1DFunction_HistogramBinEdges<double,float>+; +#pragma link C++ class TFCS1DFunction_HistogramBinEdges<double,double>+; + +#pragma link C++ class TFCS1DFunction_HistogramCompactBinEdges<float,uint8_t,float>+; +#pragma link C++ class TFCS1DFunction_HistogramCompactBinEdges<float,uint16_t,float>+; +#pragma link C++ class TFCS1DFunction_HistogramCompactBinEdges<float,uint32_t,float>+; + +#pragma link C++ class TFCS1DFunction_HistogramInt8BinEdges+; +#pragma link C++ class TFCS1DFunction_HistogramInt16BinEdges+; +#pragma link C++ class TFCS1DFunction_HistogramInt32BinEdges+; +#pragma link C++ class TFCS1DFunction_HistogramFloatBinEdges+; +#pragma link C++ class TFCS1DFunction_HistogramDoubleBinEdges+; + +#endif + #endif diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionTemplateInterpolationHistogram.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionTemplateInterpolationHistogram.h index 98d77ee14e086c46008314cd038edb64cb42f7f7..35494d350c116fe5a82c8269b95ec4f479682a73 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionTemplateInterpolationHistogram.h +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS1DFunctionTemplateInterpolationHistogram.h @@ -73,7 +73,7 @@ template <typename Txvec, typename Ty,typename Trandom=float> class TFCS1DFuncti } else m=0; //std::cout<<"fbin="<<ibin<<" fx="<<m_HistoBorders.GetBinLowEdge(ibin)<<" frac="<<m_HistoContents.get_fraction(ibin)<<" dfracprev="<<dfracprev<<" dfrac="<<dfrac<<" dfracnext="<<dfracnext<<" dfracprev-dfrac="<<dfracprev-dfrac<<" dfracnext-dfrac="<<dfracnext-dfrac<<" m="<<m<<" residual_rnd="<<residual_rnd<<std::endl; - return m_HistoBorders.position(ibin,m,residual_rnd); + return m_HistoBorders.position_lin(ibin,m,residual_rnd); } ClassDef(TFCS1DFunctionTemplateInterpolationHistogram,1) //TFCS1DFunctionTemplateInterpolationHistogram @@ -111,4 +111,18 @@ class TFCS1DFunctionInt16Int32InterpolationHistogram: public TFCS1DFunctionTempl ClassDef(TFCS1DFunctionInt16Int32InterpolationHistogram,1) //TFCS1DFunctionInt16Int32InterpolationHistogram }; + +#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__) +#pragma link C++ class TFCS1DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float>+; +#pragma link C++ class TFCS1DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float>+; +#pragma link C++ class TFCS1DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float>+; +#pragma link C++ class TFCS1DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float>+; + +#pragma link C++ class TFCS1DFunctionInt8Int8InterpolationHistogram+; +#pragma link C++ class TFCS1DFunctionInt8Int16InterpolationHistogram+; +#pragma link C++ class TFCS1DFunctionInt16Int16InterpolationHistogram+; +#pragma link C++ class TFCS1DFunctionInt16Int32InterpolationHistogram+; + +#endif + #endif diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateHistogram.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateHistogram.h index 9fb4dbbe2592b6b141e6a184bd538113250bf2ad..a081d5f045a4e5be6a20a61b9165324610d24ce2 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateHistogram.h +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateHistogram.h @@ -205,9 +205,6 @@ class TFCS2DFunctionInt8Int8Int32Histogram: public TFCS2DFunctionTemplateHistogr ClassDef(TFCS2DFunctionInt8Int8Int32Histogram,1) //TFCS2DFunctionInt8Int8Int32Histogram }; - - - class TFCS2DFunctionInt8Int16Int8Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float> { public: @@ -231,9 +228,54 @@ class TFCS2DFunctionInt8Int16Int32Histogram: public TFCS2DFunctionTemplateHistog ClassDef(TFCS2DFunctionInt8Int16Int32Histogram,1) //TFCS2DFunctionInt8Int16Int32Histogram }; +class TFCS2DFunctionInt8Int32Int8Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt8Int32Int8Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int32Int8Histogram,1) //TFCS2DFunctionInt8Int32Int8Histogram +}; +class TFCS2DFunctionInt8Int32Int16Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt8Int32Int16Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int32Int16Histogram,1) //TFCS2DFunctionInt8Int32Int16Histogram +}; +class TFCS2DFunctionInt8Int32Int32Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt8Int32Int32Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int32Int32Histogram,1) //TFCS2DFunctionInt8Int32Int32Histogram +}; + + + +class TFCS2DFunctionInt16Int8Int8Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt16Int8Int8Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int8Int8Histogram,1) //TFCS2DFunctionInt16Int8Int8Histogram +}; +class TFCS2DFunctionInt16Int8Int16Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt16Int8Int16Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float>(h) {}; + ClassDef(TFCS2DFunctionInt16Int8Int16Histogram,1) //TFCS2DFunctionInt16Int8Int16Histogram +}; + +class TFCS2DFunctionInt16Int8Int32Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt16Int8Int32Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int8Int32Histogram,1) //TFCS2DFunctionInt16Int8Int32Histogram +}; class TFCS2DFunctionInt16Int16Int8Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float> { public: @@ -257,5 +299,163 @@ class TFCS2DFunctionInt16Int16Int32Histogram: public TFCS2DFunctionTemplateHisto ClassDef(TFCS2DFunctionInt16Int16Int32Histogram,1) //TFCS2DFunctionInt16Int16Int32Histogram }; +class TFCS2DFunctionInt16Int32Int8Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt16Int32Int8Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int32Int8Histogram,1) //TFCS2DFunctionInt16Int32Int8Histogram +}; +class TFCS2DFunctionInt16Int32Int16Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt16Int32Int16Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int32Int16Histogram,1) //TFCS2DFunctionInt16Int32Int16Histogram +}; +class TFCS2DFunctionInt16Int32Int32Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt16Int32Int32Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int32Int32Histogram,1) //TFCS2DFunctionInt16Int32Int32Histogram +}; + + + + +class TFCS2DFunctionInt32Int8Int8Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt32Int8Int8Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int8Int8Histogram,1) //TFCS2DFunctionInt32Int8Int8Histogram +}; + +class TFCS2DFunctionInt32Int8Int16Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt32Int8Int16Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int8Int16Histogram,1) //TFCS2DFunctionInt32Int8Int16Histogram +}; + +class TFCS2DFunctionInt32Int8Int32Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt32Int8Int32Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int8Int32Histogram,1) //TFCS2DFunctionInt32Int8Int32Histogram +}; +class TFCS2DFunctionInt32Int16Int8Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt32Int16Int8Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int16Int8Histogram,1) //TFCS2DFunctionInt32Int16Int8Histogram +}; + +class TFCS2DFunctionInt32Int16Int16Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt32Int16Int16Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int16Int16Histogram,1) //TFCS2DFunctionInt32Int16Int16Histogram +}; + +class TFCS2DFunctionInt32Int16Int32Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt32Int16Int32Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int16Int32Histogram,1) //TFCS2DFunctionInt32Int16Int32Histogram +}; +class TFCS2DFunctionInt32Int32Int8Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt32Int32Int8Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int32Int8Histogram,1) //TFCS2DFunctionInt32Int32Int8Histogram +}; +class TFCS2DFunctionInt32Int32Int16Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt32Int32Int16Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int32Int16Histogram,1) //TFCS2DFunctionInt32Int32Int16Histogram +}; +class TFCS2DFunctionInt32Int32Int32Histogram: public TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt32Int32Int32Histogram(TH2* h=nullptr):TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int32Int32Histogram,1) //TFCS2DFunctionInt32Int32Int32Histogram +}; + + + + + +#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__) +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; + +#pragma link C++ class TFCS2DFunctionInt8Int8Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int8Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int8Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int16Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int16Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int16Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int32Histogram+; + +#pragma link C++ class TFCS2DFunctionInt16Int8Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int16Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int16Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int16Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int32Histogram+; + +#pragma link C++ class TFCS2DFunctionInt32Int8Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int32Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int8Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int16Histogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int32Histogram+; + + +#endif #endif diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationExpHistogram.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationExpHistogram.h new file mode 100644 index 0000000000000000000000000000000000000000..937d276143b2ae7e63fe7ecfd9572d12651b6023 --- /dev/null +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationExpHistogram.h @@ -0,0 +1,390 @@ +/* + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateInterpolationExpHistogram_h +#define ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateInterpolationExpHistogram_h + +#include "TFCS2DFunction.h" +#include "ISF_FastCaloSimEvent/TFCS2DFunctionTemplateHistogram.h" +#include "TH1.h" +#include "TH2.h" +#include "TBuffer.h" + +#include <iostream> + +template <typename Txvec, typename Tyvec, typename Tz ,typename Trandom=float> class TFCS2DFunctionTemplateInterpolationExpHistogram:public TFCS2DFunctionTemplateHistogram<Txvec,Tyvec,Tz,Trandom> +{ + public: + TFCS2DFunctionTemplateInterpolationExpHistogram(TH2* hist=nullptr):TFCS2DFunctionTemplateHistogram<Txvec,Tyvec,Tz,Trandom>(hist) {}; + + using TFCS2DFunctionTemplateHistogram<Txvec,Tyvec,Tz,Trandom>::rnd_to_fct; + using TFCS2DFunctionTemplateHistogram<Txvec,Tyvec,Tz,Trandom>::get_nbins; + using TFCS2DFunctionTemplateHistogram<Txvec,Tyvec,Tz,Trandom>::m_HistoContents; + using TFCS2DFunctionTemplateHistogram<Txvec,Tyvec,Tz,Trandom>::m_HistoBordersx; + using TFCS2DFunctionTemplateHistogram<Txvec,Tyvec,Tz,Trandom>::m_HistoBordersy; + + ///Function gets random number rnd in the range [0,1) as argument + ///and returns function value according to a histogram distribution. + ///An exponential interpolation is done within each bin + + + virtual void rnd_to_fct(float& valuex,float& valuey,float rnd, float rnd2) const { + size_t nbins=get_nbins(); + if(nbins==0) {valuex = 0.0; valuey = 0.0; return;} + Trandom residual_rnd; + size_t ibin=m_HistoContents.get_bin(rnd,residual_rnd); + + Trandom frac=m_HistoContents.get_fraction(ibin); + + size_t ibiny = ibin % m_HistoBordersy.get_nbins(); //printf("%d ", m_HistoBordersy.get_nbins() ); + size_t ibinx = ibin / m_HistoBordersy.get_nbins(); + //size_t nbinsx = m_HistoBordersx.get_nbins(); + size_t nbinsy = m_HistoBordersy.get_nbins(); + + Trandom dfrac = 0.0; + auto l=m_HistoBordersy.GetBinLength(ibiny); + Trandom dfracprev = 0.0; + Trandom ldfrac = 0.0; + auto lprev=l; + if(ibiny>0) { + Trandom fracprev=m_HistoContents.get_fraction(ibin-1); + dfrac=frac-fracprev; + if(ibiny>1) { + dfracprev=fracprev-m_HistoContents.get_fraction(ibin-2); + } else { + dfracprev=fracprev; + if(ibinx>0) dfracprev-=m_HistoContents.get_fraction(ibin-2); + } + lprev=m_HistoBordersy.GetBinLength(ibiny-1); + } else { + dfrac=frac; + if(ibinx>0) dfrac-=m_HistoContents.get_fraction(ibin-1); + dfracprev=dfrac; + } + + + if(dfrac > 0.0 && dfracprev > 0.0 ) + {ldfrac =log(dfrac/l) - log(dfracprev/lprev);} + + Trandom dfracnext = 0.0; + Trandom ldfracnext = 0.0; + auto lnext=l; + if(ibiny<nbinsy-1) { + dfracnext=m_HistoContents.get_fraction(ibin+1)-frac; + lnext=m_HistoBordersy.GetBinLength(ibiny+1); + } else { + dfracnext=dfrac; + } + + + if(dfrac > 0.0 && dfracnext > 0.0 ) + {ldfracnext=log(dfracnext/lnext) - log(dfrac/l);} + + Trandom beta=0.0, betaprev=0.0, betanext=0.0; + betanext=ldfracnext/(lnext+l)/0.5; + betaprev=ldfrac/(lprev+l)/0.5; + beta = 0.5*(betaprev + betanext); + //printf("betaprev=%13.5e betanext=%13.5e beta=%13.5e\n", betaprev, betanext, beta); + //printf("l=%13.5e lnext=%13.5e\n", l, lnext); + //printf("log=%13.5e lognext=%13.5e logprev=%13.5e\n", log(dfrac/l), log(dfracnext/lnext), log(dfracprev/lprev) ); + //printf("ldfrac=%13.5e ldfracnext=%13.5e\n", ldfrac, ldfracnext ); + + valuey = m_HistoBordersy.position_exp(ibiny,beta,residual_rnd); + valuex = m_HistoBordersx.position(ibinx, rnd2); + + } + + + + + + ClassDef(TFCS2DFunctionTemplateInterpolationExpHistogram,1) //TFCS1DFunctionTemplateInterpolationExpHistogram +}; + +class TFCS2DFunctionInt8Int8Int8InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt8Int8Int8InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int8Int8InterpolationExpHistogram,1) //TFCS2DFunctionInt8Int8Int8InterpolationExpHistogram +}; +class TFCS2DFunctionInt8Int8Int16InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt8Int8Int16InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int8Int16InterpolationExpHistogram,1) //TFCS2DFunctionInt8Int8Int16InterpolationExpHistogram +}; +class TFCS2DFunctionInt8Int8Int32InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt8Int8Int32InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int8Int32InterpolationExpHistogram,1) //TFCS2DFunctionInt8Int8Int32InterpolationExpHistogram +}; + +//// + +class TFCS2DFunctionInt8Int16Int8InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt8Int16Int8InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int16Int8InterpolationExpHistogram,1) //TFCS2DFunctionInt8Int16Int8InterpolationExpHistogram +}; +class TFCS2DFunctionInt8Int16Int16InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt8Int16Int16InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int16Int16InterpolationExpHistogram,1) //TFCS2DFunctionInt8Int16Int16InterpolationExpHistogram +}; +class TFCS2DFunctionInt8Int16Int32InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt8Int16Int32InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int16Int32InterpolationExpHistogram,1) //TFCS2DFunctionInt8Int16Int32InterpolationExpHistogram +}; + + +class TFCS2DFunctionInt8Int32Int8InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt8Int32Int8InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int32Int8InterpolationExpHistogram,1) //TFCS2DFunctionInt8Int32Int8InterpolationExpHistogram +}; +class TFCS2DFunctionInt8Int32Int16InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt8Int32Int16InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int32Int16InterpolationExpHistogram,1) //TFCS2DFunctionInt8Int32Int16InterpolationExpHistogram +}; +class TFCS2DFunctionInt8Int32Int32InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt8Int32Int32InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int32Int32InterpolationExpHistogram,1) //TFCS2DFunctionInt8Int32Int32InterpolationExpHistogram +}; + + + + + + +class TFCS2DFunctionInt16Int8Int8InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt16Int8Int8InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int8Int8InterpolationExpHistogram,1) //TFCS2DFunctionInt16Int8Int8InterpolationExpHistogram +}; +class TFCS2DFunctionInt16Int8Int16InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt16Int8Int16InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int8Int16InterpolationExpHistogram,1) //TFCS2DFunctionInt16Int8Int16InterpolationExpHistogram +}; +class TFCS2DFunctionInt16Int8Int32InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt16Int8Int32InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int8Int32InterpolationExpHistogram,1) //TFCS2DFunctionInt16Int8Int32InterpolationExpHistogram +}; + +//// + +class TFCS2DFunctionInt16Int16Int8InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt16Int16Int8InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int16Int8InterpolationExpHistogram,1) //TFCS2DFunctionInt16Int16Int8InterpolationExpHistogram +}; +class TFCS2DFunctionInt16Int16Int16InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt16Int16Int16InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int16Int16InterpolationExpHistogram,1) //TFCS2DFunctionInt16Int16Int16InterpolationExpHistogram +}; +class TFCS2DFunctionInt16Int16Int32InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt16Int16Int32InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int16Int32InterpolationExpHistogram,1) //TFCS2DFunctionInt16Int16Int32InterpolationExpHistogram +}; + + +class TFCS2DFunctionInt16Int32Int8InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt16Int32Int8InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int32Int8InterpolationExpHistogram,1) //TFCS2DFunctionInt16Int32Int8InterpolationExpHistogram +}; +class TFCS2DFunctionInt16Int32Int16InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt16Int32Int16InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int32Int16InterpolationExpHistogram,1) //TFCS2DFunctionInt16Int32Int16InterpolationExpHistogram +}; +class TFCS2DFunctionInt16Int32Int32InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt16Int32Int32InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int32Int32InterpolationExpHistogram,1) //TFCS2DFunctionInt16Int32Int32InterpolationExpHistogram +}; + + + + + + +class TFCS2DFunctionInt32Int8Int8InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt32Int8Int8InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int8Int8InterpolationExpHistogram,1) //TFCS2DFunctionInt32Int8Int8InterpolationExpHistogram +}; +class TFCS2DFunctionInt32Int8Int16InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt32Int8Int16InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int8Int16InterpolationExpHistogram,1) //TFCS2DFunctionInt32Int8Int16InterpolationExpHistogram +}; +class TFCS2DFunctionInt32Int8Int32InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt32Int8Int32InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int8Int32InterpolationExpHistogram,1) //TFCS2DFunctionInt32Int8Int32InterpolationExpHistogram +}; + +//// + +class TFCS2DFunctionInt32Int16Int8InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt32Int16Int8InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int16Int8InterpolationExpHistogram,1) //TFCS2DFunctionInt32Int16Int8InterpolationExpHistogram +}; +class TFCS2DFunctionInt32Int16Int16InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt32Int16Int16InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int16Int16InterpolationExpHistogram,1) //TFCS2DFunctionInt32Int16Int16InterpolationExpHistogram +}; +class TFCS2DFunctionInt32Int16Int32InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt32Int16Int32InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int16Int32InterpolationExpHistogram,1) //TFCS2DFunctionInt32Int16Int32InterpolationExpHistogram +}; + + +class TFCS2DFunctionInt32Int32Int8InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt32Int32Int8InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int32Int8InterpolationExpHistogram,1) //TFCS2DFunctionInt32Int32Int8InterpolationExpHistogram +}; +class TFCS2DFunctionInt32Int32Int16InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt32Int32Int16InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int32Int16InterpolationExpHistogram,1) //TFCS2DFunctionInt32Int32Int16InterpolationExpHistogram +}; +class TFCS2DFunctionInt32Int32Int32InterpolationExpHistogram: public TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt32Int32Int32InterpolationExpHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int32Int32InterpolationExpHistogram,1) //TFCS2DFunctionInt32Int32Int32InterpolationExpHistogram +}; + + + + + + + + + + +#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__) +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; + +#pragma link C++ class TFCS2DFunctionInt8Int8Int8InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int8Int16InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int8Int32InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int16Int8InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int16Int16InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int16Int32InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int8InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int16InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int32InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int8InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int16InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int32InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int16Int8InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int16Int16InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int16Int32InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int8InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int16InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int32InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int8InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int16InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int32InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int8InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int16InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int32InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int8InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int16InterpolationExpHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int32InterpolationExpHistogram+; + +#endif + +#endif diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationHistogram.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationHistogram.h index f85abf429c35dd871575bac92f5aaa9012b21fd1..1f0e3f3a2c7703817918e8a3dd64faa9fe9aa589 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationHistogram.h +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationHistogram.h @@ -25,6 +25,11 @@ template <typename Txvec, typename Tyvec, typename Tz ,typename Trandom=float> c using TFCS2DFunctionTemplateHistogram<Txvec,Tyvec,Tz,Trandom>::m_HistoBordersy; ///Function gets random number rnd in the range [0,1) as argument + ///and returns function value according to a histogram distribution. + ///An exponential interpolation is done within each bin + + +///Function gets random number rnd in the range [0,1) as argument ///and returns function value according to a histogram distribution. ///A linear interpolation is done within each bin virtual void rnd_to_fct(float& valuex,float& valuey,float rnd, float rnd2) const { @@ -78,10 +83,13 @@ template <typename Txvec, typename Tyvec, typename Tz ,typename Trandom=float> c m=(mnext+mprev)*l*l/dfrac; } else m=0; - valuey = m_HistoBordersy.position(ibiny,m,residual_rnd); + valuey = m_HistoBordersy.position_lin(ibiny,m,residual_rnd); valuex = m_HistoBordersx.position(ibinx, rnd2); } + + + ClassDef(TFCS2DFunctionTemplateInterpolationHistogram,1) //TFCS1DFunctionTemplateInterpolationHistogram }; @@ -92,7 +100,6 @@ class TFCS2DFunctionInt8Int8Int8InterpolationHistogram: public TFCS2DFunctionTem ClassDef(TFCS2DFunctionInt8Int8Int8InterpolationHistogram,1) //TFCS2DFunctionInt8Int8Int8InterpolationHistogram }; - class TFCS2DFunctionInt8Int8Int16InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float> { public: @@ -100,7 +107,6 @@ class TFCS2DFunctionInt8Int8Int16InterpolationHistogram: public TFCS2DFunctionTe ClassDef(TFCS2DFunctionInt8Int8Int16InterpolationHistogram,1) //TFCS2DFunctionInt8Int8Int16InterpolationHistogram }; - class TFCS2DFunctionInt8Int8Int32InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float> { public: @@ -109,7 +115,7 @@ class TFCS2DFunctionInt8Int8Int32InterpolationHistogram: public TFCS2DFunctionTe ClassDef(TFCS2DFunctionInt8Int8Int32InterpolationHistogram,1) //TFCS2DFunctionInt8Int8Int32InterpolationHistogram }; - +//// class TFCS2DFunctionInt8Int16Int8InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float> { @@ -118,7 +124,6 @@ class TFCS2DFunctionInt8Int16Int8InterpolationHistogram: public TFCS2DFunctionTe ClassDef(TFCS2DFunctionInt8Int16Int8InterpolationHistogram,1) //TFCS2DFunctionInt8Int16Int8InterpolationHistogram }; - class TFCS2DFunctionInt8Int16Int16InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float> { public: @@ -126,7 +131,6 @@ class TFCS2DFunctionInt8Int16Int16InterpolationHistogram: public TFCS2DFunctionT ClassDef(TFCS2DFunctionInt8Int16Int16InterpolationHistogram,1) //TFCS2DFunctionInt8Int16Int16InterpolationHistogram }; - class TFCS2DFunctionInt8Int16Int32InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float> { public: @@ -136,6 +140,56 @@ class TFCS2DFunctionInt8Int16Int32InterpolationHistogram: public TFCS2DFunctionT }; +class TFCS2DFunctionInt8Int32Int8InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt8Int32Int8InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int32Int8InterpolationHistogram,1) //TFCS2DFunctionInt8Int32Int8InterpolationHistogram +}; +class TFCS2DFunctionInt8Int32Int16InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt8Int32Int16InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int32Int16InterpolationHistogram,1) //TFCS2DFunctionInt8Int32Int16InterpolationHistogram +}; +class TFCS2DFunctionInt8Int32Int32InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt8Int32Int32InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt8Int32Int32InterpolationHistogram,1) //TFCS2DFunctionInt8Int32Int32InterpolationHistogram +}; + + + + + + +class TFCS2DFunctionInt16Int8Int8InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt16Int8Int8InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int8Int8InterpolationHistogram,1) //TFCS2DFunctionInt16Int8Int8InterpolationHistogram +}; +class TFCS2DFunctionInt16Int8Int16InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt16Int8Int16InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int8Int16InterpolationHistogram,1) //TFCS2DFunctionInt16Int8Int16InterpolationHistogram +}; +class TFCS2DFunctionInt16Int8Int32InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt16Int8Int32InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int8Int32InterpolationHistogram,1) //TFCS2DFunctionInt16Int8Int32InterpolationHistogram +}; + +//// class TFCS2DFunctionInt16Int16Int8InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float> { @@ -144,7 +198,6 @@ class TFCS2DFunctionInt16Int16Int8InterpolationHistogram: public TFCS2DFunctionT ClassDef(TFCS2DFunctionInt16Int16Int8InterpolationHistogram,1) //TFCS2DFunctionInt16Int16Int8InterpolationHistogram }; - class TFCS2DFunctionInt16Int16Int16InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float> { public: @@ -152,7 +205,6 @@ class TFCS2DFunctionInt16Int16Int16InterpolationHistogram: public TFCS2DFunction ClassDef(TFCS2DFunctionInt16Int16Int16InterpolationHistogram,1) //TFCS2DFunctionInt16Int16Int16InterpolationHistogram }; - class TFCS2DFunctionInt16Int16Int32InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float> { public: @@ -161,4 +213,169 @@ class TFCS2DFunctionInt16Int16Int32InterpolationHistogram: public TFCS2DFunction ClassDef(TFCS2DFunctionInt16Int16Int32InterpolationHistogram,1) //TFCS2DFunctionInt16Int16Int32InterpolationHistogram }; + +class TFCS2DFunctionInt16Int32Int8InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt16Int32Int8InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int32Int8InterpolationHistogram,1) //TFCS2DFunctionInt16Int32Int8InterpolationHistogram +}; +class TFCS2DFunctionInt16Int32Int16InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt16Int32Int16InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int32Int16InterpolationHistogram,1) //TFCS2DFunctionInt16Int32Int16InterpolationHistogram +}; +class TFCS2DFunctionInt16Int32Int32InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt16Int32Int32InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt16Int32Int32InterpolationHistogram,1) //TFCS2DFunctionInt16Int32Int32InterpolationHistogram +}; + + + + + + +class TFCS2DFunctionInt32Int8Int8InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt32Int8Int8InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int8Int8InterpolationHistogram,1) //TFCS2DFunctionInt32Int8Int8InterpolationHistogram +}; +class TFCS2DFunctionInt32Int8Int16InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt32Int8Int16InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int8Int16InterpolationHistogram,1) //TFCS2DFunctionInt32Int8Int16InterpolationHistogram +}; +class TFCS2DFunctionInt32Int8Int32InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt32Int8Int32InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt8BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int8Int32InterpolationHistogram,1) //TFCS2DFunctionInt32Int8Int32InterpolationHistogram +}; + +//// + +class TFCS2DFunctionInt32Int16Int8InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt32Int16Int8InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int16Int8InterpolationHistogram,1) //TFCS2DFunctionInt32Int16Int8InterpolationHistogram +}; +class TFCS2DFunctionInt32Int16Int16InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt32Int16Int16InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int16Int16InterpolationHistogram,1) //TFCS2DFunctionInt32Int16Int16InterpolationHistogram +}; +class TFCS2DFunctionInt32Int16Int32InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt32Int16Int32InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt16BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int16Int32InterpolationHistogram,1) //TFCS2DFunctionInt32Int16Int32InterpolationHistogram +}; + + +class TFCS2DFunctionInt32Int32Int8InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float> +{ + public: + TFCS2DFunctionInt32Int32Int8InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint8_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int32Int8InterpolationHistogram,1) //TFCS2DFunctionInt32Int32Int8InterpolationHistogram +}; +class TFCS2DFunctionInt32Int32Int16InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float> +{ + public: + TFCS2DFunctionInt32Int32Int16InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint16_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int32Int16InterpolationHistogram,1) //TFCS2DFunctionInt32Int32Int16InterpolationHistogram +}; +class TFCS2DFunctionInt32Int32Int32InterpolationHistogram: public TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float> +{ + public: + TFCS2DFunctionInt32Int32Int32InterpolationHistogram(TH2* h=nullptr):TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges,TFCS1DFunction_HistogramInt32BinEdges,uint32_t,float>(h) {}; + + ClassDef(TFCS2DFunctionInt32Int32Int32InterpolationHistogram,1) //TFCS2DFunctionInt32Int32Int32InterpolationHistogram +}; + + + + + + + + + + +#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__) +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t,float>+; +#pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram<TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t,float>+; + +#pragma link C++ class TFCS2DFunctionInt8Int8Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int8Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int8Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int16Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int16Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int16Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt8Int32Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int8Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int16Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int16Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int16Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt16Int32Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int8Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int16Int32InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int8InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int16InterpolationHistogram+; +#pragma link C++ class TFCS2DFunctionInt32Int32Int32InterpolationHistogram+; + +#endif + #endif diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS2DFunctionTemplateInterpolationExpHistogram.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS2DFunctionTemplateInterpolationExpHistogram.cxx new file mode 100644 index 0000000000000000000000000000000000000000..4bfd3a34dc8389bf577e98234303532221f6922f --- /dev/null +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCS2DFunctionTemplateInterpolationExpHistogram.cxx @@ -0,0 +1,10 @@ +/* + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +*/ + +#include "ISF_FastCaloSimEvent/TFCS2DFunctionTemplateInterpolationExpHistogram.h" + +//============================================= +//======= TFCS2DFunctionTemplateInterpolationExpHistogram ========= +//============================================= + diff --git a/Trigger/TrigHypothesis/TrigMissingETHypo/src/TrigEFMissingETHypo.h b/Trigger/TrigHypothesis/TrigMissingETHypo/src/TrigEFMissingETHypo.h old mode 100644 new mode 100755