add memory handling for DKS/GPU. No fitting possible, yet.
This commit is contained in:
@@ -36,6 +36,11 @@
|
||||
#include "DKSBaseMuSR.h"
|
||||
#include "PRunListCollection.h"
|
||||
|
||||
typedef struct {
|
||||
UInt_t fN0; ///< N0 parameter index
|
||||
UInt_t fNbkg; ///< Nbkg parameter index
|
||||
} PNidx;
|
||||
|
||||
/**
|
||||
* <p>This is the minuit2 interface function class providing the function to be optimized (chisq or log max-likelihood).
|
||||
*/
|
||||
@@ -63,6 +68,9 @@ class PFitterFcnDKS : public ROOT::Minuit2::FCNBase
|
||||
|
||||
mutable DKSBaseMuSR fDKS;
|
||||
|
||||
vector<void *> fMemData; ///< vector holding the initial addresses of the data sets on the GPU
|
||||
vector<PNidx> fNidx; ///< N0 / Nbkg parameter index vector
|
||||
|
||||
virtual void InitDKS(const UInt_t dksTag);
|
||||
virtual void FreeDKS();
|
||||
};
|
||||
|
||||
@@ -113,6 +113,7 @@ class PMsrHandler
|
||||
|
||||
virtual std::string GetDKSTheoryString();
|
||||
virtual UInt_t GetDKSTag();
|
||||
virtual Int_t GetNoOfMaps() { return fNoOfMaps; }
|
||||
|
||||
private:
|
||||
Bool_t fFourierOnly; ///< flag indicating if Fourier transform only is wished. If yes, some part of the msr-file blocks are not needed.
|
||||
@@ -139,6 +140,8 @@ class PMsrHandler
|
||||
|
||||
Bool_t fCopyStatisticsBlock; ///< flag, if true: just copy to old statistics block (musrt0), otherwise write a new one (musrfit)
|
||||
|
||||
Int_t fNoOfMaps;
|
||||
|
||||
virtual Bool_t HandleFitParameterEntry(PMsrLines &line);
|
||||
virtual Bool_t HandleTheoryEntry(PMsrLines &line);
|
||||
virtual Bool_t HandleFunctionsEntry(PMsrLines &line);
|
||||
|
||||
@@ -100,6 +100,12 @@ class PRunListCollection
|
||||
virtual const Char_t* GetXAxisTitle(const TString &runName, const UInt_t idx) const;
|
||||
virtual const Char_t* GetYAxisTitle(const TString &runName, const UInt_t idx) const;
|
||||
|
||||
virtual Int_t GetNoOfParameters() { return fMsrInfo->GetNoOfParams(); }
|
||||
virtual Int_t GetNoOfFunctions() { return fMsrInfo->GetNoOfFuncs(); }
|
||||
virtual Int_t GetNoOfMaps() { return fMsrInfo->GetNoOfMaps(); }
|
||||
virtual Int_t GetN0Idx(UInt_t idx);
|
||||
virtual Int_t GetNbkgIdx(UInt_t idx);
|
||||
|
||||
private:
|
||||
PMsrHandler *fMsrInfo; ///< pointer to the msr-file handler
|
||||
PRunDataHandler *fData; ///< pointer to the run-data handler
|
||||
|
||||
Reference in New Issue
Block a user