|
|
|||
File indexing completed on 2026-09-27 09:20:27
0001 /** 0002 * @file PandoraSDK/include/Plugins/LArTransformationPlugin.h 0003 * 0004 * @brief Header file for the lar transformation plugin interface class. 0005 * 0006 * $Log: $ 0007 */ 0008 #ifndef PANDORA_LAR_TRANSFORMATION_PLUGIN_H 0009 #define PANDORA_LAR_TRANSFORMATION_PLUGIN_H 1 0010 0011 #include "Pandora/PandoraEnumeratedTypes.h" 0012 #include "Pandora/Process.h" 0013 0014 namespace pandora 0015 { 0016 0017 /** 0018 * @brief LArTransformationPlugin class 0019 */ 0020 class LArTransformationPlugin : public Process 0021 { 0022 public: 0023 /** 0024 * @brief Transform from (U,V) to W position 0025 * 0026 * @param U the U position 0027 * @param V the V position 0028 */ 0029 virtual double UVtoW(const double u, const double v) const = 0; 0030 0031 /** 0032 * @brief Transform from (V,W) to U position 0033 * 0034 * @param V the V position 0035 * @param W the W position 0036 */ 0037 virtual double VWtoU(const double v, const double w) const = 0; 0038 0039 /** 0040 * @brief Transform from (W,U) to V position 0041 * 0042 * @param W the W position 0043 * @param U the U position 0044 */ 0045 virtual double WUtoV(const double w, const double u) const = 0; 0046 0047 /** 0048 * @brief Transform from (U,V) to Y position 0049 * 0050 * @param U the U position 0051 * @param V the V position 0052 */ 0053 virtual double UVtoY(const double u, const double v) const = 0; 0054 0055 /** 0056 * @brief Transform from (U,V) to Z position 0057 * 0058 * @param U the U position 0059 * @param V the V position 0060 */ 0061 virtual double UVtoZ(const double u, const double v) const = 0; 0062 0063 /** 0064 * @brief Transform from (U,W) to Y position 0065 * 0066 * @param U the U position 0067 * @param W the W position 0068 */ 0069 virtual double UWtoY(const double u, const double w) const = 0; 0070 0071 /** 0072 * @brief Transform from (U,W) to Z position 0073 * 0074 * @param U the U position 0075 * @param W the W position 0076 */ 0077 virtual double UWtoZ(const double u, const double w) const = 0; 0078 0079 /** 0080 * @brief Transform from (V,W) to Y position 0081 * 0082 * @param V the V position 0083 * @param W the W position 0084 */ 0085 virtual double VWtoY(const double v, const double w) const = 0; 0086 0087 /** 0088 * @brief Transform from (V,W) to Z position 0089 * 0090 * @param V the V position 0091 * @param W the W position 0092 */ 0093 virtual double VWtoZ(const double v, const double w) const = 0; 0094 0095 /** 0096 * @brief Transform from (Y,Z) to U position 0097 * 0098 * @param Y the Y position 0099 * @param Z the Z position 0100 */ 0101 virtual double YZtoU(const double y, const double z) const = 0; 0102 0103 /** 0104 * @brief Transform from (Y,Z) to V position 0105 * 0106 * @param Y the Y position 0107 * @param Z the Z position 0108 */ 0109 virtual double YZtoV(const double y, const double z) const = 0; 0110 0111 /** 0112 * @brief Transform from (Y,Z) to W position 0113 * 0114 * @param Y the Y position 0115 * @param Z the Z position 0116 */ 0117 virtual double YZtoW(const double y, const double z) const = 0; 0118 0119 /** 0120 * @brief Get the y, z position that yields the minimum chi squared value with respect to specified u, v and w coordinates 0121 * 0122 * @param u the u coordinate 0123 * @param v the v coordinate 0124 * @param w the w coordinate 0125 * @param sigmaU the uncertainty in the u coordinate 0126 * @param sigmaV the uncertainty in the v coordinate 0127 * @param sigmaW the uncertainty in the w coordinate 0128 * @param y to receive the y coordinate 0129 * @param z to receive the z coordinate 0130 * @param chiSquared to receive the chi squared value 0131 */ 0132 virtual void GetMinChiSquaredYZ(const double u, const double v, const double w, const double sigmaU, const double sigmaV, const double sigmaW, 0133 double &y, double &z, double &chiSquared) const = 0; 0134 0135 /** 0136 * @brief Get the y, z position that yields the minimum chi squared value with respect to specified u, v and w coordinates 0137 * and a provided fit to an overall trajectory in 3D 0138 * 0139 * @param u the u coordinate 0140 * @param v the v coordinate 0141 * @param w the w coordinate 0142 * @param sigmaU the uncertainty in the u coordinate 0143 * @param sigmaV the uncertainty in the v coordinate 0144 * @param sigmaW the uncertainty in the w coordinate 0145 * @param uFit the u coordinate from a fit to an overall trajectory 0146 * @param vFit the v coordinate from a fit to an overall trajectory 0147 * @param wFit the w coordinate from a fit to an overall trajectory 0148 * @param sigmaFit the uncertainty in coordinates extracted from the fit to an overall trajectory 0149 * @param y to receive the y coordinate 0150 * @param z to receive the z coordinate 0151 * @param chiSquared to receive the chi squared value 0152 */ 0153 virtual void GetMinChiSquaredYZ(const double u, const double v, const double w, const double sigmaU, const double sigmaV, const double sigmaW, 0154 const double uFit, const double vFit, const double wFit, const double sigmaFit, double &y, double &z, double &chiSquared) const = 0; 0155 0156 protected: 0157 friend class PluginManager; 0158 }; 0159 0160 } // namespace pandora 0161 0162 #endif // #ifndef PANDORA_LAR_TRANSFORMATION_PLUGIN_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|