5 #ifndef ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateInterpolationHistogram_h 
    6 #define ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateInterpolationHistogram_h 
   16 template <
typename Txvec, 
typename Tyvec, 
typename Tz, 
typename Trandom = 
float>
 
   39   virtual void rnd_to_fct(
float &valuex, 
float &valuey, 
float rnd,
 
   65       dfrac = 
frac - fracprev;
 
   83     if (ibiny < nbinsy - 1) {
 
   92       Trandom mnext = dfracnext / lnext - dfrac / 
l;
 
   94       Trandom mprev = dfrac / 
l - dfracprev / lprev;
 
   96       m = (mnext + mprev) * 
l * 
l / dfrac;
 
  110           TFCS1DFunction_HistogramInt8BinEdges,
 
  111           TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
 
  123           TFCS1DFunction_HistogramInt8BinEdges,
 
  124           TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
 
  136           TFCS1DFunction_HistogramInt8BinEdges,
 
  137           TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
 
  152           TFCS1DFunction_HistogramInt8BinEdges,
 
  153           TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
 
  165           TFCS1DFunction_HistogramInt8BinEdges,
 
  166           TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
 
  178           TFCS1DFunction_HistogramInt8BinEdges,
 
  179           TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
 
  192           TFCS1DFunction_HistogramInt8BinEdges,
 
  193           TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
 
  205           TFCS1DFunction_HistogramInt8BinEdges,
 
  206           TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
 
  218           TFCS1DFunction_HistogramInt8BinEdges,
 
  219           TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
 
  232           TFCS1DFunction_HistogramInt16BinEdges,
 
  233           TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
 
  245           TFCS1DFunction_HistogramInt16BinEdges,
 
  246           TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
 
  258           TFCS1DFunction_HistogramInt16BinEdges,
 
  259           TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
 
  274           TFCS1DFunction_HistogramInt16BinEdges,
 
  275           TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
 
  287           TFCS1DFunction_HistogramInt16BinEdges,
 
  288           TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
 
  300           TFCS1DFunction_HistogramInt16BinEdges,
 
  301           TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
 
  314           TFCS1DFunction_HistogramInt16BinEdges,
 
  315           TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
 
  327           TFCS1DFunction_HistogramInt16BinEdges,
 
  328           TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
 
  340           TFCS1DFunction_HistogramInt16BinEdges,
 
  341           TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
 
  354           TFCS1DFunction_HistogramInt32BinEdges,
 
  355           TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
 
  367           TFCS1DFunction_HistogramInt32BinEdges,
 
  368           TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
 
  380           TFCS1DFunction_HistogramInt32BinEdges,
 
  381           TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
 
  396           TFCS1DFunction_HistogramInt32BinEdges,
 
  397           TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
 
  409           TFCS1DFunction_HistogramInt32BinEdges,
 
  410           TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
 
  422           TFCS1DFunction_HistogramInt32BinEdges,
 
  423           TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
 
  436           TFCS1DFunction_HistogramInt32BinEdges,
 
  437           TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
 
  449           TFCS1DFunction_HistogramInt32BinEdges,
 
  450           TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
 
  462           TFCS1DFunction_HistogramInt32BinEdges,
 
  463           TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
 
  474 #if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__) 
  475 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  476     TFCS1DFunction_HistogramInt8BinEdges,                                      \ 
  477     TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> +                    \ 
  479 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  480     TFCS1DFunction_HistogramInt8BinEdges,                                      \ 
  481     TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> +                   \ 
  483 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  484     TFCS1DFunction_HistogramInt8BinEdges,                                      \ 
  485     TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> +                   \ 
  487 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  488     TFCS1DFunction_HistogramInt8BinEdges,                                      \ 
  489     TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> +                   \ 
  491 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  492     TFCS1DFunction_HistogramInt8BinEdges,                                      \ 
  493     TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> +                  \ 
  495 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  496     TFCS1DFunction_HistogramInt8BinEdges,                                      \ 
  497     TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> +                  \ 
  499 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  500     TFCS1DFunction_HistogramInt8BinEdges,                                      \ 
  501     TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> +                   \ 
  503 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  504     TFCS1DFunction_HistogramInt8BinEdges,                                      \ 
  505     TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> +                  \ 
  507 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  508     TFCS1DFunction_HistogramInt8BinEdges,                                      \ 
  509     TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> +                  \ 
  511 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  512     TFCS1DFunction_HistogramInt16BinEdges,                                     \ 
  513     TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> +                    \ 
  515 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  516     TFCS1DFunction_HistogramInt16BinEdges,                                     \ 
  517     TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> +                   \ 
  519 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  520     TFCS1DFunction_HistogramInt16BinEdges,                                     \ 
  521     TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> +                   \ 
  523 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  524     TFCS1DFunction_HistogramInt16BinEdges,                                     \ 
  525     TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> +                   \ 
  527 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  528     TFCS1DFunction_HistogramInt16BinEdges,                                     \ 
  529     TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> +                  \ 
  531 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  532     TFCS1DFunction_HistogramInt16BinEdges,                                     \ 
  533     TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> +                  \ 
  535 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  536     TFCS1DFunction_HistogramInt16BinEdges,                                     \ 
  537     TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> +                   \ 
  539 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  540     TFCS1DFunction_HistogramInt16BinEdges,                                     \ 
  541     TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> +                  \ 
  543 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  544     TFCS1DFunction_HistogramInt16BinEdges,                                     \ 
  545     TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> +                  \ 
  547 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  548     TFCS1DFunction_HistogramInt32BinEdges,                                     \ 
  549     TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> +                    \ 
  551 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  552     TFCS1DFunction_HistogramInt32BinEdges,                                     \ 
  553     TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> +                   \ 
  555 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  556     TFCS1DFunction_HistogramInt32BinEdges,                                     \ 
  557     TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> +                   \ 
  559 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  560     TFCS1DFunction_HistogramInt32BinEdges,                                     \ 
  561     TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> +                   \ 
  563 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  564     TFCS1DFunction_HistogramInt32BinEdges,                                     \ 
  565     TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> +                  \ 
  567 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  568     TFCS1DFunction_HistogramInt32BinEdges,                                     \ 
  569     TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> +                  \ 
  571 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  572     TFCS1DFunction_HistogramInt32BinEdges,                                     \ 
  573     TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> +                   \ 
  575 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  576     TFCS1DFunction_HistogramInt32BinEdges,                                     \ 
  577     TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> +                  \ 
  579 #pragma link C++ class TFCS2DFunctionTemplateInterpolationHistogram <          \ 
  580     TFCS1DFunction_HistogramInt32BinEdges,                                     \ 
  581     TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> +                  \ 
  584 #pragma link C++ class TFCS2DFunctionInt8Int8Int8InterpolationHistogram + ; 
  585 #pragma link C++ class TFCS2DFunctionInt8Int8Int16InterpolationHistogram + ; 
  586 #pragma link C++ class TFCS2DFunctionInt8Int8Int32InterpolationHistogram + ; 
  587 #pragma link C++ class TFCS2DFunctionInt8Int16Int8InterpolationHistogram + ; 
  588 #pragma link C++ class TFCS2DFunctionInt8Int16Int16InterpolationHistogram + ; 
  589 #pragma link C++ class TFCS2DFunctionInt8Int16Int32InterpolationHistogram + ; 
  590 #pragma link C++ class TFCS2DFunctionInt8Int32Int8InterpolationHistogram + ; 
  591 #pragma link C++ class TFCS2DFunctionInt8Int32Int16InterpolationHistogram + ; 
  592 #pragma link C++ class TFCS2DFunctionInt8Int32Int32InterpolationHistogram + ; 
  593 #pragma link C++ class TFCS2DFunctionInt16Int8Int8InterpolationHistogram + ; 
  594 #pragma link C++ class TFCS2DFunctionInt16Int8Int16InterpolationHistogram + ; 
  595 #pragma link C++ class TFCS2DFunctionInt16Int8Int32InterpolationHistogram + ; 
  596 #pragma link C++ class TFCS2DFunctionInt16Int16Int8InterpolationHistogram + ; 
  597 #pragma link C++ class TFCS2DFunctionInt16Int16Int16InterpolationHistogram + ; 
  598 #pragma link C++ class TFCS2DFunctionInt16Int16Int32InterpolationHistogram + ; 
  599 #pragma link C++ class TFCS2DFunctionInt16Int32Int8InterpolationHistogram + ; 
  600 #pragma link C++ class TFCS2DFunctionInt16Int32Int16InterpolationHistogram + ; 
  601 #pragma link C++ class TFCS2DFunctionInt16Int32Int32InterpolationHistogram + ; 
  602 #pragma link C++ class TFCS2DFunctionInt32Int8Int8InterpolationHistogram + ; 
  603 #pragma link C++ class TFCS2DFunctionInt32Int8Int16InterpolationHistogram + ; 
  604 #pragma link C++ class TFCS2DFunctionInt32Int8Int32InterpolationHistogram + ; 
  605 #pragma link C++ class TFCS2DFunctionInt32Int16Int8InterpolationHistogram + ; 
  606 #pragma link C++ class TFCS2DFunctionInt32Int16Int16InterpolationHistogram + ; 
  607 #pragma link C++ class TFCS2DFunctionInt32Int16Int32InterpolationHistogram + ; 
  608 #pragma link C++ class TFCS2DFunctionInt32Int32Int8InterpolationHistogram + ; 
  609 #pragma link C++ class TFCS2DFunctionInt32Int32Int16InterpolationHistogram + ; 
  610 #pragma link C++ class TFCS2DFunctionInt32Int32Int32InterpolationHistogram + ;