ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TPCDaqDefs.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TPCDaqDefs.h
1 #ifndef TPC_TPCDAQDEFS_H
2 #define TPC_TPCDAQDEFS_H
3 
4 #include <stdint.h>
5 #include <map>
6 #include <string>
7 #include <utility> // std::pair, std::make_pair
8 #include <vector>
9 
10 class TCanvas;
11 class TPaveText;
12 
13 namespace TPCDaqDefs
14 {
16 namespace FEEv1
17 {
18 static const unsigned int kPACKET_ID = 1024;
19 static const unsigned int kPACKET_LENGTH = 137;
20 static const unsigned int kN_CHANNELS = 256;
21 static const unsigned int kSAMPLE_LENGTH = 128;
22 
23 static const unsigned int kMaxPadX = 50;
24 static const unsigned int kMaxPadY = 12;
25 std::pair<int, int> SAMPAChan2PadXY(uint32_t fee_channel);
26 
28 {
29 public:
32  void MakeSectionPage(const std::string & title);
33 private:
34  TCanvas * m_canvas;
35  TPaveText * m_pavedtext;
36 };
37 
40  const std::vector<double> &samples, //
41  double &peak,
42  double &peak_sample,
43  double &pedestal,
44  std::map<int, double> &parameters_io,
45  const int verbosity = 0);
46 
47 // Abhisek's power-law + exp signal shape model
48 double
49 SignalShape_PowerLawExp(double *x, double *par);
50 double
51 SignalShape_PowerLawDoubleExp(double *x, double *par);
52 
53 } // namespace FEEv1
54 
55 } // namespace TPCDaqDefs
56 
57 #endif //TPC_TPCDAQDEFS_H