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 + ;