#include <EdbAlignment.h>
|
| static int | Calculate (const TObjArray &segarr1, const TObjArray &segarr2, EdbAffine2D &aff) |
| |
| static int | Calculate (TArrayF &X1, TArrayF &Y1, TArrayF &X2, TArrayF &Y2, EdbAffine2D &aff) |
| |
| static int | CalculateM (const TObjArray &segarr1, const TObjArray &segarr2, EdbAffine2D &aff, int flag=0) |
| |
| static float | DTX (const TObjArray &segarr1, const TObjArray &segarr2) |
| |
| static float | DTY (const TObjArray &segarr1, const TObjArray &segarr2) |
| |
| static float | DVAR (const TObjArray &segarr1, const TObjArray &segarr2, int ivar) |
| |
| static float | DX (const TObjArray &segarr1, const TObjArray &segarr2) |
| |
| static float | DY (const TObjArray &segarr1, const TObjArray &segarr2) |
| |
| static void | MakeAff (Double_t X0, Double_t Y0, Double_t dX, Double_t dY, Double_t dPhi, EdbAffine2D &aff) |
| |
◆ EdbAlignment()
| EdbAlignment::EdbAlignment |
( |
| ) |
|
|
inline |
◆ ~EdbAlignment()
| EdbAlignment::~EdbAlignment |
( |
| ) |
|
|
inline |
◆ Calculate() [1/2]
| int EdbAlignment::Calculate |
( |
const TObjArray & |
segarr1, |
|
|
const TObjArray & |
segarr2, |
|
|
EdbAffine2D & |
aff |
|
) |
| |
|
static |
54 int n = Min( segarr1.GetEntriesFast(), segarr2.GetEntriesFast() );
56 TArrayF X1(n), Y1(n),
X2(n), Y2(n);
57 for(
int i=0; i<n; i++) {
58 X1[i] = ((
EdbSegP *)segarr1.At(i))->
X();
59 Y1[i] = ((
EdbSegP *)segarr1.At(i))->
Y();
61 Y2[i] = ((
EdbSegP *)segarr2.At(i))->
Y();
static int Calculate(const TObjArray &segarr1, const TObjArray &segarr2, EdbAffine2D &aff)
Definition: EdbAlignment.cxx:51
Float_t X2
Definition: testChi2Ordering.C:24
◆ Calculate() [2/2]
| int EdbAlignment::Calculate |
( |
TArrayF & |
X1, |
|
|
TArrayF & |
Y1, |
|
|
TArrayF & |
X2, |
|
|
TArrayF & |
Y2, |
|
|
EdbAffine2D & |
aff |
|
) |
| |
|
static |
72 int n = Min( X1.GetSize(),
X2.GetSize() );
75 Double_t dX = 0, dY=0, dPhi=0;
76 Double_t
X0 = 0,
Y0=0;
78 for(
int i=0; i<n; i++) {
84 dX /= n; dY /= n;
X0 /= n;
Y0 /= n;
88 Double_t x1 = 0, y1=0, x2=0, y2=0;
90 for(
int i=0; i<n; i++) {
96 r = Sqrt(x1*x1+y1*y1);
97 dPhi += (ATan2(-y2,-x2) - ATan2(-y1,-x1)) *
r;
104 printf(
"X0,Y0 = %f %f dX,dY= %f %f dPhi = %f\n",
X0,
Y0,dX,dY,dPhi);
static void MakeAff(Double_t X0, Double_t Y0, Double_t dX, Double_t dY, Double_t dPhi, EdbAffine2D &aff)
Definition: EdbAlignment.cxx:109
float X0
Definition: emthickness.cpp:69
float Y0
Definition: emthickness.cpp:70
void r(int rid=2)
Definition: test.C:201
◆ CalculateM()
| int EdbAlignment::CalculateM |
( |
const TObjArray & |
segarr1, |
|
|
const TObjArray & |
segarr2, |
|
|
EdbAffine2D & |
aff, |
|
|
int |
flag = 0 |
|
) |
| |
|
static |
38 int n = Min( segarr1.GetEntriesFast(), segarr2.GetEntriesFast() );
40 TArrayF X1(n), Y1(n),
X2(n), Y2(n);
41 for(
int i=0; i<n; i++) {
42 X1[i] = ((
EdbSegP *)segarr1.At(i))->
X();
43 Y1[i] = ((
EdbSegP *)segarr1.At(i))->
Y();
45 Y2[i] = ((
EdbSegP *)segarr2.At(i))->
Y();
47 return aff.
Calculate( n, X1.fArray,Y1.fArray,
X2.fArray,Y2.fArray , flag);
Int_t Calculate(EdbPointsBox2D *b1, EdbPointsBox2D *b2)
Definition: EdbAffine.cxx:260
◆ DTX()
| static float EdbAlignment::DTX |
( |
const TObjArray & |
segarr1, |
|
|
const TObjArray & |
segarr2 |
|
) |
| |
|
inlinestatic |
23 {
return DVAR(segarr1,segarr2,3); }
static float DVAR(const TObjArray &segarr1, const TObjArray &segarr2, int ivar)
◆ DTY()
| static float EdbAlignment::DTY |
( |
const TObjArray & |
segarr1, |
|
|
const TObjArray & |
segarr2 |
|
) |
| |
|
inlinestatic |
24 {
return DVAR(segarr1,segarr2,4); }
◆ DVAR()
| static float EdbAlignment::DVAR |
( |
const TObjArray & |
segarr1, |
|
|
const TObjArray & |
segarr2, |
|
|
int |
ivar |
|
) |
| |
|
static |
◆ DX()
| static float EdbAlignment::DX |
( |
const TObjArray & |
segarr1, |
|
|
const TObjArray & |
segarr2 |
|
) |
| |
|
inlinestatic |
21 {
return DVAR(segarr1,segarr2,1); }
◆ DY()
| static float EdbAlignment::DY |
( |
const TObjArray & |
segarr1, |
|
|
const TObjArray & |
segarr2 |
|
) |
| |
|
inlinestatic |
22 {
return DVAR(segarr1,segarr2,2); }
◆ MakeAff()
| void EdbAlignment::MakeAff |
( |
Double_t |
X0, |
|
|
Double_t |
Y0, |
|
|
Double_t |
dX, |
|
|
Double_t |
dY, |
|
|
Double_t |
dPhi, |
|
|
EdbAffine2D & |
aff |
|
) |
| |
|
static |
113 Double_t x1new =
X0*Cos(dPhi)-
Y0*Sin(dPhi);
114 Double_t y1new =
X0*Sin(dPhi)+
Y0*Cos(dPhi);
void ShiftX(float d)
Definition: EdbAffine.h:64
void ShiftY(float d)
Definition: EdbAffine.h:65
void Reset()
Definition: EdbAffine.cxx:72
void Rotate(float angle)
Definition: EdbAffine.cxx:383
The documentation for this class was generated from the following files: