26 #ifndef GRALE_GRIDLENSINVERSIONGAFACTORYPARAMSNEW_H
28 #define GRALE_GRIDLENSINVERSIONGAFACTORYPARAMSNEW_H
30 #include "graleconfig.h"
31 #include "lensinversiongafactoryparams.h"
38 class ImagesDataExtended;
39 class GravitationalLens;
41 class GRALE_IMPORTEXPORT GridLensInversionGAFactoryParamsNew :
public LensInversionGAFactoryParams
44 enum BasisFunctionType { PlummerBasis, SquareBasis, GaussBasis };
45 enum MassSheetSearchType { None, Genome };
47 GridLensInversionGAFactoryParamsNew();
48 GridLensInversionGAFactoryParamsNew(
int maxGenerations,
49 const std::list<ImagesDataExtended *> &images,
50 const std::list<GridSquare> &gridSquares,
53 double initialMassScale,
55 bool allowNegativeValues,
56 const GravitationalLens *pBaseLens,
57 BasisFunctionType basisFunction,
58 MassSheetSearchType sheetSearchType,
59 bool showEvolution =
false,
60 bool saveFirstGenome =
false);
61 ~GridLensInversionGAFactoryParamsNew();
63 int getMaximumNumberOfGenerations()
const {
return m_maxGenerations; }
64 double getLensDistance()
const {
return m_lensDistance; }
65 double getLensRedshift()
const {
return m_lensRedshift; }
66 double getInitialMassScale()
const {
return m_initialMassScale; }
67 const std::list<ImagesDataExtended *> &getImages()
const {
return m_images; }
68 const std::list<GridSquare> &getGridSquares()
const {
return m_gridSquares; }
69 bool allowNegativeValues()
const {
return m_allowNegative; }
70 const GravitationalLens *getBaseLens()
const {
return m_pBaseLens; }
71 BasisFunctionType getBasisFunctionType()
const {
return m_basisFunctionType; }
72 MassSheetSearchType getMassSheetSearchType()
const {
return m_massSheetSearchType; }
73 bool getShowEvolution()
const {
return m_showEvolution; }
74 bool getSaveFirstGenome()
const {
return m_saveFirstGenome; }
76 GridLensInversionGAFactoryParamsNew *createCopy(
bool copyImages)
const;
78 bool write(serut::SerializationInterface &si)
const;
79 bool read(serut::SerializationInterface &si);
81 void copyFieldsFrom(
const GridLensInversionGAFactoryParamsNew *pSrc,
bool copyImages);
85 double m_lensDistance, m_lensRedshift;
86 double m_initialMassScale;
87 std::list<ImagesDataExtended *> m_images;
88 std::list<GridSquare> m_gridSquares;
90 BasisFunctionType m_basisFunctionType;
91 GravitationalLens *m_pBaseLens;
92 MassSheetSearchType m_massSheetSearchType;
94 bool m_showEvolution, m_saveFirstGenome;
99 #endif // GRALE_GRIDLENSINVERSIONGAFACTORYPARAMSNEW_H