26 #ifndef GRALE_GRIDLENSINVERSIONGAFACTORYPARAMS_H
28 #define GRALE_GRIDLENSINVERSIONGAFACTORYPARAMS_H
30 #include "graleconfig.h"
31 #include "lensinversiongafactoryparams.h"
38 class ImagesDataExtended;
39 class GravitationalLens;
41 class GRALE_IMPORTEXPORT GridLensInversionGAFactoryParams :
public LensInversionGAFactoryParams
44 enum BasisFunctionType { PlummerBasis, SquareBasis, GaussBasis };
45 enum MassSheetSearchType { None, Genome, Loop };
47 GridLensInversionGAFactoryParams();
48 GridLensInversionGAFactoryParams(
int maxgenerations,
49 const std::list<ImagesDataExtended *> &images,
50 const std::list<GridSquare> &gridsquares,
55 bool useweights =
false,
56 BasisFunctionType basisFunction = PlummerBasis,
57 bool allowNegativeValues =
false,
58 const GravitationalLens *pBaseLens = 0,
59 MassSheetSearchType sheetSearchType = None);
60 ~GridLensInversionGAFactoryParams();
62 int getMaximumNumberOfGenerations()
const {
return maxgenerations; }
63 double getD_d()
const {
return D_d; }
64 double getZ_d()
const {
return z_d; }
65 double getMassScale()
const {
return massscale; }
66 const std::list<ImagesDataExtended *> &getImages()
const {
return images; }
67 const std::list<GridSquare> &getGridSquares()
const {
return gridsquares; }
68 bool useMassWeights()
const {
return usemassweights; }
69 BasisFunctionType getBasisFunctionType()
const {
return basisfunction; }
70 bool allowNegativeValues()
const {
return m_allowNegative; }
71 const GravitationalLens *getBaseLens()
const {
return m_pBaseLens; }
72 MassSheetSearchType getMassSheetSearchType()
const {
return m_massSheetSearchType; }
74 bool write(serut::SerializationInterface &si)
const;
75 bool read(serut::SerializationInterface &si);
79 double D_d, massscale, z_d;
80 std::list<ImagesDataExtended *> images;
81 std::list<GridSquare> gridsquares;
83 BasisFunctionType basisfunction;
85 GravitationalLens *m_pBaseLens;
86 MassSheetSearchType m_massSheetSearchType;
91 #endif // GRALE_GRIDLENSINVERSIONGAFACTORYPARAMS_H