30 #ifndef GRALE_LENSFITNESSOBJECT_H
32 #define GRALE_LENSFITNESSOBJECT_H
34 #include "graleconfig.h"
36 #include <errut/errorbase.h>
43 class ImagesDataExtended;
73 virtual bool init(std::list<ImagesDataExtended *> &images, std::list<ImagesDataExtended *> &massScaleImages) = 0;
86 virtual void postInit(
const std::list<ImagesDataExtended *> &images,
const std::list<ImagesDataExtended *> &massScaleImages,
87 double angularScale) { }
100 virtual int getNumberOfFitnessComponents()
const = 0;
110 virtual int getImagesGroupSize()
const = 0;
136 virtual void getTotalCalcFlags(std::vector<bool> &deflectionFlags, std::vector<bool> &derivativeFlags, std::vector<bool> &potentialFlags)
const = 0;
142 virtual void getTotalStoreFlags(
bool *pStoreIntens,
bool *pStoreTimeDelay,
bool *pStoreShearInfo)
const = 0;
146 virtual void getShortCalcFlags(std::vector<bool> &deflectionFlags, std::vector<bool> &derivativeFlags, std::vector<bool> &potentialFlags)
const = 0;
150 virtual void getShortStoreFlags(
bool *pStoreIntens,
bool *pStoreTimeDelay,
bool *pStoreShearInfo)
const = 0;
166 virtual bool totalNeedInverseMagnifications()
const = 0;
169 virtual bool totalNeedShearComponents()
const = 0;
172 virtual bool totalNeedConvergence()
const = 0;
177 virtual const std::vector<bool> *getTotalInverseMagnificationFlags()
const = 0;
182 virtual const std::vector<bool> *getTotalShearComponentFlags()
const = 0;
187 virtual const std::vector<bool> *getTotalConvergenceFlags()
const = 0;
191 virtual bool shortNeedInverseMagnifications()
const = 0;
195 virtual bool shortNeedShearComponents()
const = 0;
199 virtual bool shortNeedConvergence()
const = 0;
203 virtual const std::vector<bool> *getShortInverseMagnificationFlags()
const = 0;
207 virtual const std::vector<bool> *getShortShearComponentFlags()
const = 0;
211 virtual const std::vector<bool> *getShortConvergenceFlags()
const = 0;
217 #endif // GRALE_LENSFITNESSOBJECT_H