File indexing completed on 2024-04-06 11:57:47
0001 #ifndef TAPD_H
0002 #define TAPD_H
0003
0004 #include <vector>
0005
0006 class TMom;
0007
0008 class TAPD {
0009 public:
0010 enum outVar { iAPD, iAPDoPN, iAPDoPN0, iAPDoPN1, iTime, iAPDoAPD0, iAPDoAPD1, nOutVar };
0011
0012 std::vector<double> _apdcuts[2][nOutVar];
0013 std::vector<int> _cutvars[nOutVar];
0014
0015 TMom* mom[nOutVar];
0016
0017
0018 TAPD();
0019
0020
0021 virtual ~TAPD();
0022
0023 void init();
0024
0025 void setCut(int, double, double);
0026 void setCut(int, const std::vector<int>&, const std::vector<double>&, const std::vector<double>&);
0027
0028 void addEntry(double, double, double, double, double, double, double);
0029 void addEntry(double, double, double, double, double);
0030
0031
0032
0033
0034 void setAPDCut(double, double);
0035 void setAPDoPNCut(double, double);
0036 void setAPDoPN0Cut(double, double);
0037 void setAPDoPN1Cut(double, double);
0038 void setTimeCut(double, double);
0039
0040
0041
0042 void set2DCut(int, const std::vector<double>&, const std::vector<double>&);
0043 void set2DAPDCut(const std::vector<double>&, const std::vector<double>&);
0044 void set2DAPDoPNCut(const std::vector<double>&, const std::vector<double>&);
0045 void set2DAPDoPN0Cut(const std::vector<double>&, const std::vector<double>&);
0046 void set2DAPDoPN1Cut(const std::vector<double>&, const std::vector<double>&);
0047 void set2DAPDoAPD0Cut(const std::vector<double>&, const std::vector<double>&);
0048 void set2DAPDoAPD1Cut(const std::vector<double>&, const std::vector<double>&);
0049 void set2DTimeCut(const std::vector<double>&, const std::vector<double>&);
0050
0051 std::vector<double> get(int);
0052 std::vector<double> getAPD();
0053 std::vector<double> getAPDoPN();
0054 std::vector<double> getAPDoPN0();
0055 std::vector<double> getAPDoPN1();
0056 std::vector<double> getAPDoAPD0();
0057 std::vector<double> getAPDoAPD1();
0058 std::vector<double> getTime();
0059
0060 public:
0061
0062 };
0063
0064 #endif