33 HelixZ(
const TVector3& x,
const TVector3& mom, Double_t charge, Double_t conversion = 0.);
49 inline void PathLength(Double_t r, Double_t x, Double_t y, Double_t& s1, Double_t& s2)
const {
59 inline void SetParams(
const TVector3& x,
const TVector3& mom, Double_t charge, Double_t conversion = 0.) {
105 inline Double_t
PathLength(
const TVector3& point, Bool_t scanPeriods = kTRUE)
const {
153 void Shift(Double_t x, Double_t y, Double_t z);
154 void Print(Option_t* =
"")
const { BasePrint(); };
155 virtual ~HelixZ() {};
172 HelixX(
const TVector3& x,
const TVector3& mom, Double_t charge, Double_t conversion = 0.);
173 inline void PathLength(Double_t r, Double_t& s1, Double_t& s2)
const {
BasePathLength(r, s1, s2); }
182 inline void PathLength(Double_t r, Double_t y, Double_t z, Double_t& s1, Double_t& s2)
const {
192 inline void SetParams(
const TVector3& x,
const TVector3& mom, Double_t charge, Double_t conversion = 0.) {
193 BaseSetParams(x.Y(), x.Z(), x.X(), mom.Y(), mom.Z(), mom.X(), charge, conversion);
201 inline void EvaluateFull(Double_t s, TVector3& mom, TVector3& pos)
const {
203 mom.SetXYZ(mom.Z(), mom.X(), mom.Y());
204 pos.SetXYZ(pos.Z(), pos.X(), pos.Y());
242 inline Double_t
PathLength(TVector3 point, Bool_t scanPeriods = kTRUE)
const {
243 point.SetXYZ(point.Y(), point.Z(), point.X());
261 res.SetXYZ(res.Z(), res.X(), res.Y());
271 res.SetXYZ(res.Z(), res.X(), res.Y());
280 res.SetXYZ(res.Z(), res.X(), res.Y());
290 inline Int_t
Intersection(Double_t R, TVector3& x1, TVector3& x2)
const {
292 x1.SetXYZ(x1.Z(), x1.X(), x1.Y());
293 x2.SetXYZ(x2.Z(), x2.X(), x2.Y());
302 void Print(Option_t* =
"")
const {};
309 void Shift(Double_t x, Double_t y, Double_t z);
310 virtual ~HelixX() {};
327 HelixY(
const TVector3& x,
const TVector3& mom, Double_t charge, Double_t conversion = 0.);
328 inline void PathLength(Double_t r, Double_t& s1, Double_t& s2)
const {
BasePathLength(r, s1, s2); }
337 inline void PathLength(Double_t r, Double_t z, Double_t x, Double_t& s1, Double_t& s2)
const {
347 inline void SetParams(
const TVector3& x,
const TVector3& mom, Double_t charge, Double_t conversion = 0.) {
348 BaseSetParams(x.Z(), x.X(), x.Y(), mom.Z(), mom.X(), mom.Y(), charge, conversion);
356 inline void EvaluateFull(Double_t s, TVector3& mom, TVector3& pos)
const {
358 mom.SetXYZ(mom.Y(), mom.Z(), mom.X());
359 pos.SetXYZ(pos.Y(), pos.Z(), pos.X());
398 inline Double_t
PathLength(
const TVector3& point, Bool_t scanPeriods = kTRUE)
const {
399 TVector3 p(point.Z(), point.X(), point.Y());
417 res.SetXYZ(res.Y(), res.Z(), res.X());
427 res.SetXYZ(res.Y(), res.Z(), res.X());
436 res.SetXYZ(res.Y(), res.Z(), res.X());
446 inline Int_t
Intersection(Double_t R, TVector3& x1, TVector3& x2)
const {
448 x1.SetXYZ(x1.Y(), x1.Z(), x1.X());
449 x2.SetXYZ(x2.Y(), x2.Z(), x2.X());
458 void Print(Option_t* =
"")
const { BasePrint(); };
465 void Shift(Double_t x, Double_t y, Double_t z);
466 virtual ~HelixY() {};
471 typedef HelixX Helix;
474 typedef HelixY Helix;
476 typedef HelixZ Helix;
Double_t BaseGetStartZ() const
Double_t BaseGetYcenter() const
Int_t BaseIntersection(Double_t R, TVector3 &x1, TVector3 &x2) const
TVector3 BasePosition(Double_t s) const
Double_t BaseGetStartY() const
TVector3 BaseMomentum(Double_t s) const
void BaseSetParams(const TVector3 &x, const TVector3 &mom, Double_t charge, Double_t conversion=0.)
Double_t BaseGetXcenter() const
Double_t BaseGetStartX() const
void BasePathLength(Double_t r, Double_t x, Double_t y, Double_t &s1, Double_t &s2) const
TVector3 BaseGetStartPoint() const
void BaseFullEval(Double_t s, TVector3 &mom, TVector3 &pos) const
Double_t GetYcenter() const
Double_t GetStartX() const
Double_t PathLength(Double_t y, Double_t z) const
Int_t Intersection(Double_t R, TVector3 &x1, TVector3 &x2) const
Double_t GetStartZ() const
void PathLength(Double_t r, Double_t y, Double_t z, Double_t &s1, Double_t &s2) const
HelixX & operator=(const HelixX &helix)
TVector3 EvalPos(Double_t s) const
Double_t GetXcenter() const
Double_t GetZcenter() const
void EvaluateFull(Double_t s, TVector3 &mom, TVector3 &pos) const
TVector3 EvalMom(Double_t s) const
void Shift(Double_t x, Double_t y, Double_t z)
Double_t GetStartY() const
TVector3 GetStartPoint() const
void SetParams(const TVector3 &x, const TVector3 &mom, Double_t charge, Double_t conversion=0.)
Double_t PathLength(TVector3 point, Bool_t scanPeriods=kTRUE) const
Double_t GetStartY() const
TVector3 EvalPos(Double_t s) const
TVector3 EvalMom(Double_t s) const
void EvaluateFull(Double_t s, TVector3 &mom, TVector3 &pos) const
Double_t PathLength(Double_t z, Double_t x) const
Int_t Intersection(Double_t R, TVector3 &x1, TVector3 &x2) const
Double_t GetStartX() const
void SetParams(const TVector3 &x, const TVector3 &mom, Double_t charge, Double_t conversion=0.)
Double_t PathLength(const TVector3 &point, Bool_t scanPeriods=kTRUE) const
HelixY & operator=(const HelixY &helix)
void Shift(Double_t x, Double_t y, Double_t z)
Double_t GetZcenter() const
TVector3 GetStartPoint() const
void PathLength(Double_t r, Double_t z, Double_t x, Double_t &s1, Double_t &s2) const
Double_t GetXcenter() const
Double_t GetYcenter() const
Double_t GetStartZ() const
Double_t GetYcenter() const
void PathLength(Double_t r, Double_t x, Double_t y, Double_t &s1, Double_t &s2) const
TVector3 EvalMom(Double_t s) const
Double_t GetStartX() const
Double_t PathLength(Double_t x, Double_t y) const
Double_t GetStartZ() const
Double_t GetStartY() const
void PathLength(Double_t r, Double_t &s1, Double_t &s2) const
HelixZ & operator=(const HelixZ &helix)
TVector3 EvalPos(Double_t s) const
void SetParams(const TVector3 &x, const TVector3 &mom, Double_t charge, Double_t conversion=0.)
Int_t Intersection(Double_t R, TVector3 &x1, TVector3 &x2) const
Double_t PathLength(const TVector3 &point, Bool_t scanPeriods=kTRUE) const
Double_t GetXcenter() const
void Shift(Double_t x, Double_t y, Double_t z)
void EvaluateFull(Double_t s, TVector3 &mom, TVector3 &pos) const
Double_t GetZcenter() const
TVector3 GetStartPoint() const