TpcLheCMPoint.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. #ifndef LHE_CM_POINT_H
  2. #define LHE_CM_POINT_H
  3. // *************************************************************************
  4. // Author: Oleg Rogachevsky e-mail: rogach@sunhe.jinr.ru
  5. //
  6. // conformal mapping point class
  7. //
  8. // Created: 1-07-07
  9. // Modified:
  10. //
  11. // *************************************************************************
  12. #include "TpcLheHit.h"
  13. #include "TpcLhePoint.h"
  14. class TpcLheCMPoint : public TpcLheHit {
  15. private:
  16. // Interaction point
  17. Double_t fXt; // x-value of the interaction point
  18. Double_t fYt; // y-value of the interaction point
  19. Double_t fZt; // z-value of the interaction point
  20. Double_t fXterr; // error of fXt
  21. Double_t fYterr; // error of fYt
  22. Double_t fZterr; // error of fZt
  23. // conformal mapping coordinates
  24. Double_t fXprime; // transformed x
  25. Double_t fYprime; // transformed y
  26. Double_t fXprimeerr; // error of fXprime
  27. Double_t fYprimeerr; // error of fYprime
  28. // coordinates with respect to the vertex
  29. // cartesian coordinates
  30. Double_t fXv; // x with respect to vertex
  31. Double_t fYv; // y with respect to vertex
  32. Double_t fZv; // z with respect to vertex
  33. Double_t fXverr; // error of fXv
  34. Double_t fYverr; // error of fYv
  35. Double_t fZverr; // error of fZv
  36. // spherical coordinates
  37. Double_t fPhi; // angle phi
  38. Double_t fTheta; // angle eta
  39. // distances to the conformal mapping fits
  40. Double_t fCircleDist; // distance from the fitted circle
  41. Double_t fDeepDist; // distance from the line fit in YZ plane
  42. public:
  43. TpcLheCMPoint(); //
  44. TpcLheCMPoint(TpcLheHit *point); // from hit
  45. virtual ~TpcLheCMPoint(); //
  46. // getters
  47. Double_t GetCircleDist() const { return fCircleDist; }
  48. Double_t GetDeepDist() const { return fDeepDist; }
  49. Double_t GetPhi() const { return fPhi; }
  50. Double_t GetTheta() const { return fTheta; }
  51. Double_t GetXprime() const { return fXprime; }
  52. Double_t GetYprime() const { return fYprime; }
  53. Double_t GetXprimeerr() const { return fXprimeerr; }
  54. Double_t GetYprimeerr() const { return fYprimeerr; }
  55. Double_t GetXt() const { return fXt; }
  56. Double_t GetYt() const { return fYt; }
  57. Double_t GetZt() const { return fZt; }
  58. Double_t GetXterr() const { return fXterr; }
  59. Double_t GetYterr() const { return fYterr; }
  60. Double_t GetZterr() const { return fZterr; }
  61. Double_t GetXv() const { return fXv; }
  62. Double_t GetYv() const { return fYv; }
  63. Double_t GetZv() const { return fZv; }
  64. Double_t GetXverr() const { return fXverr; }
  65. Double_t GetYverr() const { return fYverr; }
  66. Double_t GetZverr() const { return fZverr; }
  67. // setters
  68. void SetDist(Double_t c, Double_t l) { fCircleDist = c; fDeepDist = l; }
  69. void SetCircleDist(Double_t f) { fCircleDist = f; }
  70. void SetDeepDist(Double_t f) { fDeepDist = f; }
  71. void SetPhi(Double_t f) { fPhi = f; }
  72. void SetTheta(Double_t f) { fTheta = f; }
  73. void SetXt(Double_t f) { fXt = f; }
  74. void SetYt(Double_t f) { fYt = f; }
  75. void SetZt(Double_t f) { fZt = f; }
  76. void SetXterr(Double_t f) { fXterr = f; }
  77. void SetYterr(Double_t f) { fYterr = f; }
  78. void SetZterr(Double_t f) { fZterr = f; }
  79. void SetXv(Double_t f) { fXv = f; }
  80. void SetYv(Double_t f) { fYv = f; }
  81. void SetZv(Double_t f) { fZv = f; }
  82. void SetXverr(Double_t f) { fXverr = f; }
  83. void SetYverr(Double_t f) { fYverr = f; }
  84. void SetZverr(Double_t f) { fZverr = f; }
  85. void Setup(TpcLhePoint *vertex); // does the usual setup in the right order
  86. void SetAngles(); // calculate spherical angles and set values
  87. void Print();
  88. void SetIntPoint(const Double_t in_x = 0., const Double_t in_y = 0.,
  89. const Double_t in_z = 0., const Double_t in_x_err = 0.,
  90. const Double_t in_y_err = 0., const Double_t in_z_err = 0.);
  91. void SetShiftedCoord(); // set shifted coordinates
  92. void SetConfCoord(); // conformal mapping of coordinates
  93. void SetAllCoord(const TpcLheCMPoint *hit); //
  94. ClassDef(TpcLheCMPoint, 1) //
  95. };
  96. #endif