Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
common
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Alexander Lapshin
common
Commits
3a194635
Commit
3a194635
authored
Sep 11, 2020
by
Alexander Lapshin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+ aberration method
parent
35a3c4be
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
9 deletions
+17
-9
ADelayMeasurement.cpp
bnolib/ADelayMeasurement.cpp
+1
-1
OpticMeasurement.cpp
bnolib/OpticMeasurement.cpp
+6
-6
OpticMeasurement.h
bnolib/OpticMeasurement.h
+10
-2
No files found.
bnolib/ADelayMeasurement.cpp
View file @
3a194635
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
ADelayMeasurement
::
ADelayMeasurement
()
:
AMeasurement
(),
ADelayMeasurement
::
ADelayMeasurement
()
:
AMeasurement
(),
// По умолчанию назначем точность определения времени распространения
// По умолчанию назначем точность определения времени распространения
// сигнала равной одной сотой секунды
// сигнала равной одной сотой секунды
TimePrec
(
0.01
*
1.e-3
)
TimePrec
(
0.0
00
1
*
1.e-3
)
{
{
}
}
...
...
bnolib/OpticMeasurement.cpp
View file @
3a194635
...
@@ -356,9 +356,9 @@ void OpticMeasurement::Diff(DVector& d, const DVector* m1, const DVector* m2) co
...
@@ -356,9 +356,9 @@ void OpticMeasurement::Diff(DVector& d, const DVector* m1, const DVector* m2) co
d
(
1
)
=
AngleDiff
(
m1
==
NULL
?
Delta
:
(
*
m1
)(
1
),
m2
==
NULL
?
Delta
:
(
*
m2
)(
1
));
d
(
1
)
=
AngleDiff
(
m1
==
NULL
?
Delta
:
(
*
m1
)(
1
),
m2
==
NULL
?
Delta
:
(
*
m2
)(
1
));
}
}
void
OpticMeasurement
::
AberrationCorrect
(
double
alpha
,
double
delta
,
TimeJD
date
,
bool
backwardCorrection
,
bool
preciseAlgorithm
,
double
&
correctedAlpha
,
double
&
correctedDelta
)
void
OpticMeasurement
::
AberrationCorrect
(
double
alpha
,
double
delta
,
TimeJD
date
,
bool
backwardCorrection
,
aberration_method
ab
,
double
&
correctedAlpha
,
double
&
correctedDelta
)
{
{
if
(
preciseAlgorithm
)
{
if
(
ab
==
aberration_method
::
AA
)
{
CAA2DCoordinate
r
=
EquatorialAberration
(
alpha
,
delta
,
date
.
GetDays
()
+
date
.
GetFraction
());
CAA2DCoordinate
r
=
EquatorialAberration
(
alpha
,
delta
,
date
.
GetDays
()
+
date
.
GetFraction
());
if
(
backwardCorrection
)
{
if
(
backwardCorrection
)
{
correctedAlpha
=
alpha
-
r
.
X
;
correctedAlpha
=
alpha
-
r
.
X
;
...
@@ -369,7 +369,7 @@ void OpticMeasurement::AberrationCorrect(double alpha, double delta, TimeJD date
...
@@ -369,7 +369,7 @@ void OpticMeasurement::AberrationCorrect(double alpha, double delta, TimeJD date
correctedDelta
=
delta
+
r
.
Y
;
correctedDelta
=
delta
+
r
.
Y
;
}
}
}
}
else
{
else
if
(
ab
==
aberration_method
::
ST
)
{
Vect3
v
;
Vect3
v
;
// Вычисление вектора орбитального движения Земли
// Вычисление вектора орбитального движения Земли
...
@@ -410,13 +410,13 @@ void OpticMeasurement::AberrationCorrect(double alpha, double delta, TimeJD date
...
@@ -410,13 +410,13 @@ void OpticMeasurement::AberrationCorrect(double alpha, double delta, TimeJD date
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Коррекция с учетом звездной аберрации
// Коррекция с учетом звездной аберрации
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
void
OpticMeasurement
::
Correct
(
bool
nm
)
void
OpticMeasurement
::
Correct
(
aberration_method
ab
)
{
{
if
(
IsCorrected
)
{
if
(
IsCorrected
||
ab
==
aberration_method
::
NONE
)
{
return
;
return
;
}
}
AberrationCorrect
(
Alpha
,
Delta
,
MTime
,
false
,
false
,
Alpha
,
Delta
);
AberrationCorrect
(
Alpha
,
Delta
,
MTime
,
false
,
ab
,
Alpha
,
Delta
);
IsCorrected
=
true
;
IsCorrected
=
true
;
}
}
...
...
bnolib/OpticMeasurement.h
View file @
3a194635
...
@@ -13,6 +13,14 @@
...
@@ -13,6 +13,14 @@
#include "AFreeMeasurement.h"
#include "AFreeMeasurement.h"
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
enum
class
aberration_method
{
NONE
,
ST
,
AA
};
class
OpticMeasurement
:
public
AFreeMeasurement
class
OpticMeasurement
:
public
AFreeMeasurement
{
{
public
:
public
:
...
@@ -83,7 +91,7 @@ public:
...
@@ -83,7 +91,7 @@ public:
return
IsCorrected
;
return
IsCorrected
;
};
};
// Коррекция с учетом звездной аберрации
// Коррекция с учетом звездной аберрации
void
Correct
(
bool
newmethod
);
void
Correct
(
aberration_method
ab
);
// Получение координат станции в Гринвиче
// Получение координат станции в Гринвиче
virtual
const
Vect3
&
GetStationCoord
()
const
=
0
;
virtual
const
Vect3
&
GetStationCoord
()
const
=
0
;
...
@@ -99,7 +107,7 @@ public:
...
@@ -99,7 +107,7 @@ public:
return
m_isBad
;
return
m_isBad
;
};
};
static
void
AberrationCorrect
(
double
alpha
,
double
delta
,
TimeJD
date
,
bool
backwardCorrection
,
bool
preciseAlgorithm
,
double
&
correctedAlpha
,
double
&
correctedDelta
);
static
void
AberrationCorrect
(
double
alpha
,
double
delta
,
TimeJD
date
,
bool
backwardCorrection
,
aberration_method
ab
,
double
&
correctedAlpha
,
double
&
correctedDelta
);
protected
:
protected
:
// Флаг учета аберрации
// Флаг учета аберрации
bool
IsCorrected
;
bool
IsCorrected
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment