FairRoot/PandaRoot
Public Member Functions | Private Attributes | List of all members
PndTrkConformalTransform Class Reference

#include <PndTrkConformalTransform.h>

Inheritance diagram for PndTrkConformalTransform:

Public Member Functions

 PndTrkConformalTransform ()
 
 PndTrkConformalTransform (double x, double y, double delta)
 
 ~PndTrkConformalTransform ()
 
void SetTranslation (double x, double y)
 
void SetRotation (double delta)
 
TVector2 GetTranslation ()
 
Double_t GetRotation ()
 
void PerformConformalTransformation (double x, double y, double rd, double &u, double &v, double &rc)
 
void PerformRealTransformation (double u, double v, double rc, double &x, double &y, double &rd)
 
PndTrkConformalHit GetConformalSttHit (PndTrkHit *hit)
 
PndTrkConformalHit GetConformalHit (PndTrkHit *hit)
 
double GetXConf (double x, double y, double rd)
 
double GetYConf (double x, double y, double rd)
 
double GetRConf (double x, double y, double rd)
 
void SetOrigin (double x, double y, double delta)
 

Private Attributes

TVector2 fTrasl
 
Double_t fAngle
 

Detailed Description

Definition at line 7 of file PndTrkConformalTransform.h.

Constructor & Destructor Documentation

PndTrkConformalTransform::PndTrkConformalTransform ( )

Definition at line 20 of file PndTrkConformalTransform.cxx.

PndTrkConformalTransform::PndTrkConformalTransform ( double  x,
double  y,
double  delta 
)

Definition at line 23 of file PndTrkConformalTransform.cxx.

PndTrkConformalTransform::~PndTrkConformalTransform ( )

Definition at line 28 of file PndTrkConformalTransform.cxx.

28  {
29 }

Member Function Documentation

PndTrkConformalHit PndTrkConformalTransform::GetConformalHit ( PndTrkHit hit)
PndTrkConformalHit PndTrkConformalTransform::GetConformalSttHit ( PndTrkHit hit)

Definition at line 83 of file PndTrkConformalTransform.cxx.

References Double_t, PndTrkHit::GetIsochrone(), PndTrkHit::GetPosition(), PerformConformalTransformation(), and v.

Referenced by PndTrkTrackFinder::AnalyticalFit(), PndTrkLegendreNew::AnalyticalFit2(), PndTrkTrackFinder::AnalyticalFit2(), PndTrkCombiLegendreTask::AnalyticalFit2(), PndTrkTrackFinder::AnalyticalParabolaFit(), PndTrkCombiLegendreTask::ComputePerpendicularChi2(), PndTrkLegendreNew::CreateClusterAroundTrack(), PndTrkTrackFinder::CreateClusterAroundTrack(), PndTrkLegendreSecTask2::Exec(), PndTrkLegendreTask::Exec(), PndTrkLegendreSecTask::Exec(), PndTrkLegendreTask::FillConformalHitList(), PndTrkLegendreSecTask::FillConformalHitList(), PndTrkLegendreSecTask2::FillConformalHitList(), PndTrkLegendreNew::FillConformalHitList(), PndTrkCombiLegendreTask::FillConformalHitList(), PndTrkTrackFinder::FillConformalHitList(), PndTrkLegendreTask::FillLegendreHisto(), and PndTrkLegendreSecTask::FillLegendreHisto().

83  {
84  TVector3 position = hit->GetPosition();
85  Double_t rd = hit->GetIsochrone();
86  double u, v, rc;
87  PerformConformalTransformation(position.X(), position.Y(), rd, u, v, rc);
88  return PndTrkConformalHit(hit, u, v, rc);
89 }
__m128 v
Definition: P4_F32vec4.h:4
Double_t
TVector3 GetPosition()
Definition: PndTrkHit.h:62
Double_t GetIsochrone()
Definition: PndTrkHit.h:63
void PerformConformalTransformation(double x, double y, double rd, double &u, double &v, double &rc)
double PndTrkConformalTransform::GetRConf ( double  x,
double  y,
double  rd 
)

Definition at line 107 of file PndTrkConformalTransform.cxx.

Referenced by PerformConformalTransformation(), and PerformRealTransformation().

107  {
108  return rd / (x * x + y * y - rd * rd);
109 }
Double_t x
Double_t y
Double_t PndTrkConformalTransform::GetRotation ( )
inline
TVector2 PndTrkConformalTransform::GetTranslation ( )
inline
double PndTrkConformalTransform::GetXConf ( double  x,
double  y,
double  rd 
)

Definition at line 99 of file PndTrkConformalTransform.cxx.

Referenced by PerformConformalTransformation(), and PerformRealTransformation().

99  {
100  return x / (x * x + y * y - rd * rd);
101 }
Double_t x
Double_t y
double PndTrkConformalTransform::GetYConf ( double  x,
double  y,
double  rd 
)

Definition at line 103 of file PndTrkConformalTransform.cxx.

Referenced by PerformConformalTransformation(), and PerformRealTransformation().

103  {
104  return y / (x * x + y * y - rd * rd);
105 }
Double_t x
Double_t y
void PndTrkConformalTransform::PerformConformalTransformation ( double  x,
double  y,
double  rd,
double &  u,
double &  v,
double &  rc 
)

Definition at line 44 of file PndTrkConformalTransform.cxx.

References CAMath::Cos(), Double_t, fAngle, fTrasl, GetRConf(), GetXConf(), GetYConf(), and CAMath::Sin().

Referenced by GetConformalHit(), and GetConformalSttHit().

45 {
46  Double_t xtrasl, ytrasl;
47  // traslation
48  xtrasl = x - fTrasl.X();
49  ytrasl = y - fTrasl.Y();
50 
51  Double_t xrot, yrot;
52  xrot = TMath::Cos(fAngle) * xtrasl + TMath::Sin(fAngle) * ytrasl;
53  yrot = -TMath::Sin(fAngle) * xtrasl + TMath::Cos(fAngle) * ytrasl;
54 
55  // change coordinate of the center
56  u = GetXConf(xrot, yrot, rd);
57  v = GetYConf(xrot, yrot, rd);
58  rc = GetRConf(xrot, yrot, rd);
59 
60 }
static T Sin(const T &x)
Definition: PndCAMath.h:42
static T Cos(const T &x)
Definition: PndCAMath.h:43
__m128 v
Definition: P4_F32vec4.h:4
double GetXConf(double x, double y, double rd)
Double_t
double GetRConf(double x, double y, double rd)
Double_t x
double GetYConf(double x, double y, double rd)
Double_t y
void PndTrkConformalTransform::PerformRealTransformation ( double  u,
double  v,
double  rc,
double &  x,
double &  y,
double &  rd 
)

Definition at line 63 of file PndTrkConformalTransform.cxx.

References CAMath::Cos(), Double_t, fAngle, fTrasl, GetRConf(), GetXConf(), GetYConf(), and CAMath::Sin().

Referenced by PndTrkCombiLegendreTask::AnalyticalFit2().

64 {
65  // conf ->> real
66  double xrot, yrot;
67  xrot = GetXConf(u, v, rc);
68  yrot = GetYConf(u, v, rc);
69  rd = GetRConf(u, v, rc);
70 
71  // re-rotation
72  Double_t xtrasl, ytrasl;
73  xtrasl = TMath::Cos(fAngle) * xrot - TMath::Sin(fAngle) * yrot;
74  ytrasl = TMath::Sin(fAngle) * xrot + TMath::Cos(fAngle) * yrot;
75 
76  // re-traslation
77  x = xtrasl + fTrasl.X();
78  y = ytrasl + fTrasl.Y();
79 
80 }
static T Sin(const T &x)
Definition: PndCAMath.h:42
static T Cos(const T &x)
Definition: PndCAMath.h:43
__m128 v
Definition: P4_F32vec4.h:4
double GetXConf(double x, double y, double rd)
Double_t
double GetRConf(double x, double y, double rd)
Double_t x
double GetYConf(double x, double y, double rd)
Double_t y
void PndTrkConformalTransform::SetOrigin ( double  x,
double  y,
double  delta 
)
void PndTrkConformalTransform::SetRotation ( double  delta)

Definition at line 40 of file PndTrkConformalTransform.cxx.

References fAngle.

Referenced by SetOrigin().

40  {
41  fAngle = delta;
42 }
void PndTrkConformalTransform::SetTranslation ( double  x,
double  y 
)

Definition at line 37 of file PndTrkConformalTransform.cxx.

References fTrasl.

Referenced by SetOrigin().

37  {
38  fTrasl.Set(x, y);
39 }
Double_t x
Double_t y

Member Data Documentation

Double_t PndTrkConformalTransform::fAngle
private
TVector2 PndTrkConformalTransform::fTrasl
private

The documentation for this class was generated from the following files: