5 #ifndef ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateHistogram_h
6 #define ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateHistogram_h
16 template <
typename Txvec,
typename Tyvec,
typename Tz,
typename Trandom =
float>
53 Int_t nbinsx =
hist->GetNbinsX();
54 Int_t nbinsy =
hist->GetNbinsY();
55 std::vector<double> temp_HistoContents;
59 printf(
"initializing 2D template...");
67 hist->GetXaxis()->GetBinUpEdge(nbinsx));
69 hist->GetYaxis()->GetBinUpEdge(nbinsy));
71 for (Int_t ibinx = 1; ibinx <=
hist->GetNbinsX(); ++ibinx) {
73 ibinx,
hist->GetXaxis()->GetBinLowEdge(ibinx + 1));
85 for (Int_t ibiny = 1; ibiny <=
hist->GetNbinsY(); ++ibiny) {
87 ibiny,
hist->GetYaxis()->GetBinLowEdge(ibiny + 1));
100 for (Int_t ibinx = 1; ibinx <=
hist->GetNbinsX(); ++ibinx)
101 for (Int_t ibiny = 1; ibiny <=
hist->GetNbinsY(); ++ibiny) {
176 virtual void rnd_to_fct(
float &valuex,
float &valuey,
float rnd)
const {
181 Trandom residual_rnd;
191 virtual void rnd_to_fct(
float &valuex,
float &valuey,
float rnd,
197 Trandom residual_rnd;
254 TFCS1DFunction_HistogramInt8BinEdges,
255 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
268 TFCS1DFunction_HistogramInt8BinEdges,
269 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
282 TFCS1DFunction_HistogramInt8BinEdges,
283 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
295 TFCS1DFunction_HistogramInt8BinEdges,
296 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
309 TFCS1DFunction_HistogramInt8BinEdges,
310 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
323 TFCS1DFunction_HistogramInt8BinEdges,
324 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
336 TFCS1DFunction_HistogramInt8BinEdges,
337 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
349 TFCS1DFunction_HistogramInt8BinEdges,
350 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
362 TFCS1DFunction_HistogramInt8BinEdges,
363 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
376 TFCS1DFunction_HistogramInt16BinEdges,
377 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
390 TFCS1DFunction_HistogramInt16BinEdges,
391 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
404 TFCS1DFunction_HistogramInt16BinEdges,
405 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
417 TFCS1DFunction_HistogramInt16BinEdges,
418 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
431 TFCS1DFunction_HistogramInt16BinEdges,
432 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
445 TFCS1DFunction_HistogramInt16BinEdges,
446 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
458 TFCS1DFunction_HistogramInt16BinEdges,
459 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
471 TFCS1DFunction_HistogramInt16BinEdges,
472 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
484 TFCS1DFunction_HistogramInt16BinEdges,
485 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
498 TFCS1DFunction_HistogramInt32BinEdges,
499 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
512 TFCS1DFunction_HistogramInt32BinEdges,
513 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
526 TFCS1DFunction_HistogramInt32BinEdges,
527 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
539 TFCS1DFunction_HistogramInt32BinEdges,
540 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
553 TFCS1DFunction_HistogramInt32BinEdges,
554 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
567 TFCS1DFunction_HistogramInt32BinEdges,
568 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
580 TFCS1DFunction_HistogramInt32BinEdges,
581 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
593 TFCS1DFunction_HistogramInt32BinEdges,
594 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
606 TFCS1DFunction_HistogramInt32BinEdges,
607 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
618 #if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__)
619 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
620 TFCS1DFunction_HistogramInt8BinEdges, \
621 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> + \
623 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
624 TFCS1DFunction_HistogramInt8BinEdges, \
625 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> + \
627 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
628 TFCS1DFunction_HistogramInt8BinEdges, \
629 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> + \
631 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
632 TFCS1DFunction_HistogramInt8BinEdges, \
633 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> + \
635 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
636 TFCS1DFunction_HistogramInt8BinEdges, \
637 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> + \
639 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
640 TFCS1DFunction_HistogramInt8BinEdges, \
641 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> + \
643 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
644 TFCS1DFunction_HistogramInt8BinEdges, \
645 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> + \
647 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
648 TFCS1DFunction_HistogramInt8BinEdges, \
649 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> + \
651 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
652 TFCS1DFunction_HistogramInt8BinEdges, \
653 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> + \
655 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
656 TFCS1DFunction_HistogramInt16BinEdges, \
657 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> + \
659 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
660 TFCS1DFunction_HistogramInt16BinEdges, \
661 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> + \
663 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
664 TFCS1DFunction_HistogramInt16BinEdges, \
665 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> + \
667 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
668 TFCS1DFunction_HistogramInt16BinEdges, \
669 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> + \
671 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
672 TFCS1DFunction_HistogramInt16BinEdges, \
673 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> + \
675 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
676 TFCS1DFunction_HistogramInt16BinEdges, \
677 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> + \
679 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
680 TFCS1DFunction_HistogramInt16BinEdges, \
681 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> + \
683 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
684 TFCS1DFunction_HistogramInt16BinEdges, \
685 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> + \
687 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
688 TFCS1DFunction_HistogramInt16BinEdges, \
689 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> + \
691 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
692 TFCS1DFunction_HistogramInt32BinEdges, \
693 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> + \
695 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
696 TFCS1DFunction_HistogramInt32BinEdges, \
697 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> + \
699 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
700 TFCS1DFunction_HistogramInt32BinEdges, \
701 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> + \
703 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
704 TFCS1DFunction_HistogramInt32BinEdges, \
705 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> + \
707 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
708 TFCS1DFunction_HistogramInt32BinEdges, \
709 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> + \
711 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
712 TFCS1DFunction_HistogramInt32BinEdges, \
713 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> + \
715 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
716 TFCS1DFunction_HistogramInt32BinEdges, \
717 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> + \
719 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
720 TFCS1DFunction_HistogramInt32BinEdges, \
721 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> + \
723 #pragma link C++ class TFCS2DFunctionTemplateHistogram < \
724 TFCS1DFunction_HistogramInt32BinEdges, \
725 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> + \
728 #pragma link C++ class TFCS2DFunctionInt8Int8Int8Histogram + ;
729 #pragma link C++ class TFCS2DFunctionInt8Int8Int16Histogram + ;
730 #pragma link C++ class TFCS2DFunctionInt8Int8Int32Histogram + ;
731 #pragma link C++ class TFCS2DFunctionInt8Int16Int8Histogram + ;
732 #pragma link C++ class TFCS2DFunctionInt8Int16Int16Histogram + ;
733 #pragma link C++ class TFCS2DFunctionInt8Int16Int32Histogram + ;
734 #pragma link C++ class TFCS2DFunctionInt8Int32Int8Histogram + ;
735 #pragma link C++ class TFCS2DFunctionInt8Int32Int16Histogram + ;
736 #pragma link C++ class TFCS2DFunctionInt8Int32Int32Histogram + ;
738 #pragma link C++ class TFCS2DFunctionInt16Int8Int8Histogram + ;
739 #pragma link C++ class TFCS2DFunctionInt16Int8Int16Histogram + ;
740 #pragma link C++ class TFCS2DFunctionInt16Int8Int32Histogram + ;
741 #pragma link C++ class TFCS2DFunctionInt16Int16Int8Histogram + ;
742 #pragma link C++ class TFCS2DFunctionInt16Int16Int16Histogram + ;
743 #pragma link C++ class TFCS2DFunctionInt16Int16Int32Histogram + ;
744 #pragma link C++ class TFCS2DFunctionInt16Int32Int8Histogram + ;
745 #pragma link C++ class TFCS2DFunctionInt16Int32Int16Histogram + ;
746 #pragma link C++ class TFCS2DFunctionInt16Int32Int32Histogram + ;
748 #pragma link C++ class TFCS2DFunctionInt32Int8Int8Histogram + ;
749 #pragma link C++ class TFCS2DFunctionInt32Int8Int16Histogram + ;
750 #pragma link C++ class TFCS2DFunctionInt32Int8Int32Histogram + ;
751 #pragma link C++ class TFCS2DFunctionInt32Int16Int8Histogram + ;
752 #pragma link C++ class TFCS2DFunctionInt32Int16Int16Histogram + ;
753 #pragma link C++ class TFCS2DFunctionInt32Int16Int32Histogram + ;
754 #pragma link C++ class TFCS2DFunctionInt32Int32Int8Histogram + ;
755 #pragma link C++ class TFCS2DFunctionInt32Int32Int16Histogram + ;
756 #pragma link C++ class TFCS2DFunctionInt32Int32Int32Histogram + ;