PandaRoot
PndTrkCombiLegendreTransform.h
Go to the documentation of this file.
1 #ifndef PNDTRKCOMBILEGENDRETRANSFORM_H
2 #define PNDTRKCOMBILEGENDRETRANSFORM_H
3 
4 #include "TMath.h"
5 #include "TH2F.h"
6 
7 class PndTrkCombiLegendreTransform : public TObject {
8 
9  public:
12 
13  void SetUpLegendreHisto();
14  void SetUpLegendreHisto(double thetaNofBin, double thetaMin, double thetaMax, double rNofBin, double rMin, double rMax);
15  void ResetLegendreHisto();
16  TH2F *GetLegendreHisto() { return fhLegendre; }
17  void FillLegendreHisto(double x1, double y1, double radius1, double x2, double y2, double radius2);
18  void FillHisto(TH2F *histo, double x1, double y1, double r1, double x2, double y2, double r2);
19  void ComputeThetaR(double x1, double y1, double r1, double x2, double y2, double r2, double &theta, double &r);
20 
21  int ExtractLegendreMaximum(double &theta_max, double &r_max);
22  int ExtractMaximumFromHisto(TH2F *histo, double &theta_max, double &r_max);
23  void ExtractLegendreSingleLineParameters(double &slope, double &intercept);
24  void ExtractLineParameters(double theta, double r, double &slope, double &intercept);
25 
26  void Draw();
27 
28  private:
29  Double_t fThetaNofBin, fThetaMin, fThetaMax, fRNofBin, fRMin, fRMax; //, fDeltaThetaRad;
30  TH2F *fhLegendre;
31  ClassDef(PndTrkCombiLegendreTransform, 1)
32 };
33 
34 #endif
void FillLegendreHisto(double x1, double y1, double radius1, double x2, double y2, double radius2)
void FillHisto(TH2F *histo, double x1, double y1, double r1, double x2, double y2, double r2)
void ComputeThetaR(double x1, double y1, double r1, double x2, double y2, double r2, double &theta, double &r)
void ExtractLineParameters(double theta, double r, double &slope, double &intercept)
void ExtractLegendreSingleLineParameters(double &slope, double &intercept)
int ExtractLegendreMaximum(double &theta_max, double &r_max)
int ExtractMaximumFromHisto(TH2F *histo, double &theta_max, double &r_max)