merge in Bastian M. Wojek's cpp-version of msr2data. This should help to step towards a real platform independent musrfit package.

This commit is contained in:
nemu
2009-08-31 11:19:03 +00:00
parent 51c3ded931
commit 9ac709451c
10 changed files with 249 additions and 65 deletions

View File

@ -47,7 +47,7 @@
class PMsrHandler
{
public:
PMsrHandler(char *fileName);
PMsrHandler(const char *fileName);
virtual ~PMsrHandler();
virtual int ReadMsrFile();

View File

@ -182,8 +182,11 @@ typedef struct {
TString fRunTitle; ///< run title
TString fSetup; ///< description of the setup of this run
double fField; ///< magnetic field value
double fTemp; ///< temperature during the run
// double fTemp; ///< temperature during the run
vector< pair<double, double> > fTemp; ///< measured temperatures and standard deviations during the run
double fEnergy; ///< implantation energy of the muon
double fTransport; ///< LEM transport settings (Moderator HV)
PDoubleVector fRingAnode; ///< LEM ring anode HVs (L,R[,T,B])
double fTimeResolution; ///< time resolution of the run
PIntVector fT0s; ///< vector of t0's of a run
vector<PDoubleVector> fDataBin; ///< vector of all histos of a run

View File

@ -47,8 +47,8 @@ class PRunDataHandler
PRunDataHandler(PMsrHandler *msrInfo, const PStringVector dataPath);
virtual ~PRunDataHandler();
virtual bool IsAllDataAvailable() { return fAllDataAvailable; }
virtual PRawRunData* GetRunData(TString runName);
virtual bool IsAllDataAvailable() const { return fAllDataAvailable; }
virtual PRawRunData* GetRunData(const TString &runName);
private:
PMsrHandler *fMsrInfo;

View File

@ -53,34 +53,34 @@ class PRunListCollection
virtual bool Add(int runNo, EPMusrHandleTag tag);
virtual double GetSingleHistoChisq(const std::vector<double>& par);
virtual double GetAsymmetryChisq(const std::vector<double>& par);
virtual double GetRRFChisq(const std::vector<double>& par);
virtual double GetNonMusrChisq(const std::vector<double>& par);
virtual double GetSingleHistoChisq(const std::vector<double>& par) const;
virtual double GetAsymmetryChisq(const std::vector<double>& par) const;
virtual double GetRRFChisq(const std::vector<double>& par) const;
virtual double GetNonMusrChisq(const std::vector<double>& par) const;
virtual double GetSingleHistoMaximumLikelihood(const std::vector<double>& par);
virtual double GetAsymmetryMaximumLikelihood(const std::vector<double>& par);
virtual double GetRRFMaximumLikelihood(const std::vector<double>& par);
virtual double GetNonMusrMaximumLikelihood(const std::vector<double>& par);
virtual double GetSingleHistoMaximumLikelihood(const std::vector<double>& par) const;
virtual double GetAsymmetryMaximumLikelihood(const std::vector<double>& par) const;
virtual double GetRRFMaximumLikelihood(const std::vector<double>& par) const;
virtual double GetNonMusrMaximumLikelihood(const std::vector<double>& par) const;
virtual unsigned int GetTotalNoOfBinsFitted();
virtual unsigned int GetTotalNoOfBinsFitted() const;
virtual unsigned int GetNoOfSingleHisto() { return fRunSingleHistoList.size(); }
virtual unsigned int GetNoOfAsymmetry() { return fRunAsymmetryList.size(); }
virtual unsigned int GetNoOfRRF() { return fRunRRFList.size(); }
virtual unsigned int GetNoOfNonMusr() { return fRunNonMusrList.size(); }
virtual unsigned int GetNoOfSingleHisto() const { return fRunSingleHistoList.size(); }
virtual unsigned int GetNoOfAsymmetry() const { return fRunAsymmetryList.size(); }
virtual unsigned int GetNoOfRRF() const { return fRunRRFList.size(); }
virtual unsigned int GetNoOfNonMusr() const { return fRunNonMusrList.size(); }
virtual PRunData* GetSingleHisto(unsigned int index, EDataSwitch tag=kIndex);
virtual PRunData* GetAsymmetry(unsigned int index, EDataSwitch tag=kIndex);
virtual PRunData* GetRRF(unsigned int index, EDataSwitch tag=kIndex);
virtual PRunData* GetNonMusr(unsigned int index, EDataSwitch tag=kIndex);
virtual double GetTemp(TString &runName);
virtual double GetField(TString &runName);
virtual double GetEnergy(TString &runName);
virtual const char* GetSetup(TString &runName);
virtual const char* GetXAxisTitle(TString &runName, const unsigned int idx);
virtual const char* GetYAxisTitle(TString &runName, const unsigned int idx);
virtual vector< pair<double, double> > GetTemp(const TString &runName) const;
virtual double GetField(const TString &runName) const;
virtual double GetEnergy(const TString &runName) const;
virtual const char* GetSetup(const TString &runName) const;
virtual const char* GetXAxisTitle(const TString &runName, const unsigned int idx) const;
virtual const char* GetYAxisTitle(const TString &runName, const unsigned int idx) const;
private:
PMsrHandler *fMsrInfo; ///< keeps all msr file info