LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
LArRotationalTransformationPlugin.h
Go to the documentation of this file.
1 
8 #ifndef LAR_ROTATIONAL_TRANSFORMATION_PLUGIN_H
9 #define LAR_ROTATIONAL_TRANSFORMATION_PLUGIN_H 1
10 
11 #include "Plugins/LArTransformationPlugin.h"
12 
13 namespace lar_content
14 {
15 
19 class LArRotationalTransformationPlugin : public pandora::LArTransformationPlugin
20 {
21 public:
26 
27  virtual double UVtoW(const double u, const double v) const;
28  virtual double VWtoU(const double v, const double w) const;
29  virtual double WUtoV(const double w, const double u) const;
30 
31  virtual double UVtoY(const double u, const double v) const;
32  virtual double UVtoZ(const double u, const double v) const;
33  virtual double UWtoY(const double u, const double w) const;
34  virtual double UWtoZ(const double u, const double w) const;
35  virtual double VWtoY(const double v, const double w) const;
36  virtual double VWtoZ(const double v, const double w) const;
37 
38  virtual double YZtoU(const double y, const double z) const;
39  virtual double YZtoV(const double y, const double z) const;
40  virtual double YZtoW(const double y, const double z) const;
41 
42  virtual void GetMinChiSquaredYZ(const double u, const double v, const double w, const double sigmaU, const double sigmaV,
43  const double sigmaW, double &y, double &z, double &chiSquared) const;
44  virtual void GetMinChiSquaredYZ(const double u, const double v, const double w, const double sigmaU, const double sigmaV, const double sigmaW,
45  const double uFit, const double vFit, const double wFit, const double sigmaFit, double &y, double &z, double &chiSquared) const;
46 
47 private:
48  pandora::StatusCode Initialize();
49  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
50 
51  double m_thetaU;
52  double m_thetaV;
53  double m_thetaW;
54 
55  double m_sinU;
56  double m_sinV;
57  double m_sinW;
58  double m_cosU;
59  double m_cosV;
60  double m_cosW;
61  double m_sinVminusU;
62  double m_sinWminusV;
63  double m_sinUminusW;
64 
69 };
70 
71 } // namespace lar_content
72 
73 #endif // #ifndef LAR_ROTATIONAL_TRANSFORMATION_PLUGIN_H
virtual void GetMinChiSquaredYZ(const double u, const double v, const double w, const double sigmaU, const double sigmaV, const double sigmaW, double &y, double &z, double &chiSquared) const
virtual double UVtoY(const double u, const double v) const
virtual double UVtoW(const double u, const double v) const
virtual double YZtoW(const double y, const double z) const
virtual double UVtoZ(const double u, const double v) const
virtual double VWtoU(const double v, const double w) const
Float_t y
Definition: compare.C:6
Double_t z
Definition: plot.C:276
double m_maxAngularDiscrepancyU
Maximum allowed difference between u wire angles between LArTPCs.
virtual double UWtoZ(const double u, const double w) const
virtual double YZtoV(const double y, const double z) const
double m_maxAngularDiscrepancyV
Maximum allowed difference between v wire angles between LArTPCs.
double m_maxAngularDiscrepancyW
Maximum allowed difference between w wire angles between LArTPCs.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
virtual double VWtoZ(const double v, const double w) const
virtual double WUtoV(const double w, const double u) const
virtual double YZtoU(const double y, const double z) const
double m_maxSigmaDiscrepancy
Maximum allowed difference between like wire sigma values between LArTPCs.
Float_t w
Definition: plot.C:20
virtual double VWtoY(const double v, const double w) const
virtual double UWtoY(const double u, const double w) const