diff --git a/src/include/PMusr.h b/src/include/PMusr.h index a959028a..8cba56c9 100644 --- a/src/include/PMusr.h +++ b/src/include/PMusr.h @@ -872,6 +872,8 @@ class PRawRunData { virtual const PIntPair GetBkgBin(const UInt_t histoNo) { return fData.GetBkgBin(histoNo); } virtual const PIntPair GetGoodDataBin(const UInt_t histoNo) { return fData.GetGoodDataBin(histoNo); } virtual const PIntVector GetRedGreenOffset() { return fRedGreenOffset; } + virtual const Int_t GetNumberOfGoodFrames() { return fNumberOfGoodFrames; } + virtual const PDoubleVector GetDeadTimeParam() { return fDeadTimeParam; } virtual const UInt_t GetNoOfHistos() { return fData.Size(); } virtual PRawRunDataSet* GetDataSet(const UInt_t idx, Bool_t wantHistoNo = true); virtual const PDoubleVector* GetDataBin(const UInt_t histoNo) { return fData.GetData(histoNo); } @@ -913,47 +915,51 @@ class PRawRunData { virtual void SetRingAnode(const UInt_t idx, const Double_t dval); virtual void SetTimeResolution(const Double_t dval) { fTimeResolution = dval; } virtual void SetRedGreenOffset(PIntVector &ivec) { fRedGreenOffset = ivec; } + virtual void SetNumberOfGoodFrames(Int_t ival) { fNumberOfGoodFrames = ival; } + virtual void SetDeadTimeParam(PDoubleVector dvec) { fDeadTimeParam = dvec; } virtual void SetDataSet(PRawRunDataSet &dataSet, UInt_t idx=-1) { fData.Set(dataSet, idx); } PNonMusrRawRunData fDataNonMusr; ///< keeps all ascii- or db-file info in case of nonMusr fit private: - TString fVersion; ///< keeps the version information of the data file - TString fGenericValidatorURL; ///< keeps the generic validator MusrRoot URL - TString fSpecificValidatorURL; ///< keeps the instrument specific validator MusrRoot URL - TString fGenerator; ///< keeps the data file generator name - TString fComment; ///< keeps the data file comment - TString fFileName; ///< keeps the name of the original data file - TString fLaboratory; ///< keeps the name of the laboratory, e.g. PSI, ISIS, TRIUMF, JPARC - TString fBeamline; ///< keeps the name of the be beamline, e.g. muE4, piM3.1, ... - TString fInstrument; ///< keeps the name of the instrument, e.g. LEM, GPS, MUSR, EMU, ... - TString fMuonSource; ///< keeps the type of muon source, e.g. continous surface beam, pulsed beam, low energy muon beam - TString fMuonSpecies; ///< positive muon or negative muon - Double_t fMuonBeamMomentum; ///< given in MeV/c, for LEM this is the momentum of the secondary beamline and NOT the momentum of the low energy beam - Double_t fMuonSpinAngle; ///< gives the muon spin angle in degrees (reference frame depends on the instrument) - TString fRunName; ///< name of the run as found in the msr-file - Int_t fRunNumber; ///< run number - TString fRunTitle; ///< run title - TString fSetup; ///< description of the setup of this run - TString fStartTime; ///< start time of the run - TString fStartDate; ///< start date of the run - time_t fStartDateTimeSec; ///< start run given as time_t object - TString fStopTime; ///< stop time of the run - TString fStopDate; ///< stop date of the run - time_t fStopDateTimeSec; ///< stop run given as time_t object - TString fCryo; ///< name of the cryo - TString fSample; ///< description of the sample - TString fOrientation; ///< description of the orientation - TString fMagnet; ///< name of the sample magnet - Double_t fField; ///< magnetic field value in (G) - PDoublePairVector fTemp; ///< measured temperatures and standard deviations during the run - Double_t fEnergy; ///< implantation energy of the muon - Double_t fTransport; ///< LEM transport settings (Moderator HV) - PDoubleVector fRingAnode; ///< LEM ring anode HVs (L,R[,T,B]) - Double_t fTimeResolution; ///< time resolution of the run in (ns) - PIntVector fRedGreenOffset; ///< keeps the Red/Green offsets + TString fVersion{"n/a"}; ///< keeps the version information of the data file + TString fGenericValidatorURL{"n/a"}; ///< keeps the generic validator MusrRoot URL + TString fSpecificValidatorURL{"n/a"}; ///< keeps the instrument specific validator MusrRoot URL + TString fGenerator{"n/a"}; ///< keeps the data file generator name + TString fComment{"n/a"}; ///< keeps the data file comment + TString fFileName{"n/a"}; ///< keeps the name of the original data file + TString fLaboratory{"n/a"}; ///< keeps the name of the laboratory, e.g. PSI, ISIS, TRIUMF, JPARC + TString fBeamline{"n/a"}; ///< keeps the name of the be beamline, e.g. muE4, piM3.1, ... + TString fInstrument{"n/a"}; ///< keeps the name of the instrument, e.g. LEM, GPS, MUSR, EMU, ... + TString fMuonSource{"n/a"}; ///< keeps the type of muon source, e.g. continous surface beam, pulsed beam, low energy muon beam + TString fMuonSpecies{"n/a"}; ///< positive muon or negative muon + Double_t fMuonBeamMomentum{PMUSR_UNDEFINED}; ///< given in MeV/c, for LEM this is the momentum of the secondary beamline and NOT the momentum of the low energy beam + Double_t fMuonSpinAngle{PMUSR_UNDEFINED}; ///< gives the muon spin angle in degrees (reference frame depends on the instrument) + TString fRunName{"n/a"}; ///< name of the run as found in the msr-file + Int_t fRunNumber{-1}; ///< run number + TString fRunTitle{"n/a"}; ///< run title + TString fSetup{"n/a"}; ///< description of the setup of this run + TString fStartTime{"n/a"}; ///< start time of the run + TString fStartDate{"n/a"}; ///< start date of the run + time_t fStartDateTimeSec{0}; ///< start run given as time_t object + TString fStopTime{"n/a"}; ///< stop time of the run + TString fStopDate{"n/a"}; ///< stop date of the run + time_t fStopDateTimeSec{0}; ///< stop run given as time_t object + TString fCryo{"n/a"}; ///< name of the cryo + TString fSample{"n/a"}; ///< description of the sample + TString fOrientation{"n/a"}; ///< description of the orientation + TString fMagnet{"n/a"}; ///< name of the sample magnet + Double_t fField{PMUSR_UNDEFINED}; ///< magnetic field value in (G) + PDoublePairVector fTemp; ///< measured temperatures and standard deviations during the run + Double_t fEnergy{PMUSR_UNDEFINED}; ///< implantation energy of the muon + Double_t fTransport{PMUSR_UNDEFINED}; ///< LEM transport settings (Moderator HV) + PDoubleVector fRingAnode; ///< LEM ring anode HVs (L,R[,T,B]) + Double_t fTimeResolution{PMUSR_UNDEFINED}; ///< time resolution of the run in (ns) + PIntVector fRedGreenOffset; ///< keeps the Red/Green offsets + PDoubleVector fDeadTimeParam; ///< dead time parameter vector needed for pulsed sources + Int_t fNumberOfGoodFrames{0}; ///< needed to correct dead times at pulsed sources - PRawRunDataVector fData; ///< keeps the histos together with the histo related properties such as T0, first good bin, etc. + PRawRunDataVector fData; ///< keeps the histos together with the histo related properties such as T0, first good bin, etc. }; //-------------------------------------------------------------