File indexing completed on 2025-08-05 08:15:08
0001 #ifndef TPC_TPCDAQDEFS_H
0002 #define TPC_TPCDAQDEFS_H
0003
0004 #include <stdint.h>
0005 #include <map>
0006 #include <string>
0007 #include <utility> // std::pair, std::make_pair
0008 #include <vector>
0009
0010 class TCanvas;
0011 class TPaveText;
0012
0013 namespace TPCDaqDefs
0014 {
0015
0016 namespace FEEv1
0017 {
0018 static const unsigned int kPACKET_ID = 1024;
0019 static const unsigned int kPACKET_LENGTH = 137;
0020 static const unsigned int kN_CHANNELS = 256;
0021 static const unsigned int kSAMPLE_LENGTH = 128;
0022
0023 static const unsigned int kMaxPadX = 50;
0024 static const unsigned int kMaxPadY = 12;
0025 std::pair<int, int> SAMPAChan2PadXY(uint32_t fee_channel);
0026
0027 class SampleFit_PowerLawDoubleExp_PDFMaker
0028 {
0029 public:
0030 SampleFit_PowerLawDoubleExp_PDFMaker();
0031 ~SampleFit_PowerLawDoubleExp_PDFMaker();
0032 explicit SampleFit_PowerLawDoubleExp_PDFMaker(const SampleFit_PowerLawDoubleExp_PDFMaker&) = delete;
0033 SampleFit_PowerLawDoubleExp_PDFMaker& operator=(const SampleFit_PowerLawDoubleExp_PDFMaker&) = delete;
0034 void MakeSectionPage(const std::string & title);
0035 private:
0036 TCanvas * m_canvas;
0037 TPaveText * m_pavedtext;
0038 };
0039
0040
0041 bool SampleFit_PowerLawDoubleExp(
0042 const std::vector<double> &samples,
0043 double &peak,
0044 double &peak_sample,
0045 double &pedestal,
0046 std::map<int, double> ¶meters_io,
0047 const int verbosity = 0);
0048
0049
0050 double
0051 SignalShape_PowerLawExp(double *x, double *par);
0052 double
0053 SignalShape_PowerLawDoubleExp(double *x, double *par);
0054
0055 }
0056
0057 }
0058
0059 #endif