2024-11-25 01:30:14 +00:00
# pragma once
/*****************************************************************/ /**
* \ file SARSimulationTaskSetting . h
* \ brief SAR <EFBFBD> <EFBFBD> <EFBFBD> ǻ ز <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ý <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ļ <EFBFBD>
*
* \ author 30453
* \ date October 2024
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# include "BaseConstVariable.h"
# include "BaseTool.h"
# include "SARSatelliteSimulationAbstractCls.h"
# include "SatelliteOribtModel.h"
# include "LogInfoCls.h"
# include <QString>
# include <vector>
# include <memory>
class SARSimulationTaskSetting : public AbstractSARSatelliteModel
{
public : // <20> <> <EFBFBD> <EFBFBD> ģ<EFBFBD> <C4A3>
virtual SatelliteOribtNode getSatelliteOribtNode ( double & timeFromStartTime , bool & antAzAngleFlag ) override ; // <20> <> <EFBFBD> ù<EFBFBD> <C3B9> <EFBFBD> <EFBFBD> ڵ㣬
virtual ErrorCode getSatelliteOribtNode ( double & timeFromStartTime , SatelliteOribtNode & node , bool & antAzAngleFlag ) override ; // <20> <> ȡ<EFBFBD> <C8A1> <EFBFBD> <EFBFBD> <EFBFBD> ڵ<EFBFBD>
virtual void setSatelliteOribtModel ( std : : shared_ptr < AbstractSatelliteOribtModel > model ) override ; // <20> <> <EFBFBD> ù<EFBFBD> <C3B9> <EFBFBD> ģ<EFBFBD> <C4A3>
virtual ErrorCode getSatelliteAntDirectNormal ( SatelliteOribtNode & Rs , Vector3D & Rt , SatelliteAntDirect & antNode ) ; // <20> <> <EFBFBD> <EFBFBD> Ŀ<EFBFBD> <C4BF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߷<EFBFBD> <DFB7> <EFBFBD> ͼ<EFBFBD> е <EFBFBD> λ<EFBFBD> <CEBB>
private :
std : : shared_ptr < AbstractSatelliteOribtModel > OribtModel ; // <20> <> <EFBFBD> <EFBFBD> ģ<EFBFBD> <C4A3>
public : // Ӱ<> <D3B0> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1>
virtual void setSARImageStartTime ( long double imageStartTime ) override ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʼ ʱ<CABC> <CAB1>
virtual void setSARImageEndTime ( long double imageEndTime ) override ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1>
virtual double getSARImageStartTime ( ) override ;
virtual double getSARImageEndTime ( ) override ;
virtual double getNearRange ( ) override ; // <20> <> б <EFBFBD> <D0B1> -- <20> <> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD>
virtual void setNearRange ( double NearRange ) override ;
virtual double getFarRange ( ) override ; // <20> <> Զб <D4B6> <D0B1>
virtual void setFarRange ( double FarRange ) override ;
virtual bool getIsRightLook ( ) override ; // <20> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> <EFBFBD>
virtual void setIsRightLook ( bool isR ) override ;
private :
double imageStartTime ;
double imageEndTime ;
double NearRange ;
double FarRange ;
2025-03-25 03:23:14 +00:00
2024-11-25 01:30:14 +00:00
bool isR ;
public : // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
virtual void setCenterFreq ( double Freq ) override ; // <20> <> <EFBFBD> <EFBFBD> Ƶ<EFBFBD> <C6B5>
virtual double getCenterFreq ( ) override ;
virtual void setCenterLamda ( double Lamda ) override ; // <20> <> <EFBFBD> <EFBFBD>
virtual double getCenterLamda ( ) override ;
virtual void setBandWidth ( double bandwidth ) override ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Χ
virtual double getBandWidth ( ) override ;
virtual POLARTYPEENUM getPolarType ( ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
virtual void setPolarType ( POLARTYPEENUM type ) ;
virtual double getCenterLookAngle ( ) override ;
virtual void setCenterLookAngle ( double angle ) override ;
private :
double centerLookAngle ;
double centerFreq ;
double centerLamda ;
double bandWidth ;
POLARTYPEENUM polarType ;
public : // <20> <> <EFBFBD> <EFBFBD> PRF<52> <46> FS
virtual void setPRF ( double prf ) override ; // <20> <> λ<EFBFBD> <CEBB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƶ<EFBFBD> <C6B5>
virtual double getPRF ( ) override ;
2025-03-25 03:23:14 +00:00
//virtual void setRefphaseRange(double refRange) override;
//virtual double getRefphaseRange() override;
2025-02-20 04:13:04 +00:00
virtual double getFs ( ) override ;
virtual void setFs ( double fs ) override ;
2024-11-25 01:30:14 +00:00
private :
double PRF ;
2025-02-20 04:13:04 +00:00
double Fs ;
2025-03-25 03:23:14 +00:00
//double refPhaseRange;
2025-01-06 11:56:45 +00:00
double pt ;
double Gri ;
2024-11-25 01:30:14 +00:00
public : // <20> <> <EFBFBD> ߷<EFBFBD> <DFB7> <EFBFBD> ͼ
virtual void setTransformRadiationPattern ( std : : shared_ptr < AbstractRadiationPattern > radiationPanttern ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ䷽<EFBFBD> <E4B7BD> ͼ
virtual void setReceiveRadiationPattern ( std : : shared_ptr < AbstractRadiationPattern > radiationPanttern ) ; // V <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> շ<EFBFBD> <D5B7> <EFBFBD> ͼ
virtual std : : shared_ptr < AbstractRadiationPattern > getTransformRadiationPattern ( ) ; // H <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ䷽<EFBFBD> <E4B7BD> ͼ
virtual std : : shared_ptr < AbstractRadiationPattern > getReceiveRadiationPattern ( ) ; // V <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ䷽<EFBFBD> <E4B7BD> ͼ
private : // <20> <> <EFBFBD> <EFBFBD>
std : : shared_ptr < AbstractRadiationPattern > TransformRadiationPattern ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ䷽<EFBFBD> <E4B7BD> ͼ
std : : shared_ptr < AbstractRadiationPattern > ReceiveRadiationPattern ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> շ<EFBFBD> <D5B7> <EFBFBD> ͼ
public :
virtual double getPt ( ) override ;
virtual double getGri ( ) override ;
virtual void setPt ( double Pt ) override ;
virtual void setGri ( double gri ) override ;
2025-02-17 09:13:18 +00:00
private :
double DopplerParametersReferenceTime ;
std : : vector < double > DopplerCentroidCoefficients ;
std : : vector < double > DopplerRateValuesCoefficients ;
public :
virtual double getDopplerParametersReferenceTime ( ) override ;
virtual void setDopplerParametersReferenceTime ( double time ) override ;
virtual std : : vector < double > getDopplerCentroidCoefficients ( ) override ;
virtual void setDopplerCentroidCoefficients ( std : : vector < double > DopplerCentroids ) override ;
virtual std : : vector < double > getDopplerRateValuesCoefficients ( ) override ;
virtual void setDopplerRateValuesCoefficients ( std : : vector < double > DopplerRateValues ) override ;
2024-11-25 01:30:14 +00:00
} ;
std : : shared_ptr < AbstractSARSatelliteModel > ReadSimulationSettingsXML ( QString xmlPath ) ;