53#define PMUSR_SUCCESS 0
55#define PMUSR_SYNTAX_REQUEST -1
57#define PMUSR_WRONG_STARTUP_SYNTAX -2
59#define PMUSR_MSR_FILE_NOT_FOUND -3
61#define PMUSR_MSR_ALLOCATION_ERROR -4
63#define PMUSR_MSR_SYNTAX_ERROR -5
65#define PMUSR_TOKENIZE_ERROR -6
67#define PMUSR_MSR_LOG_FILE_WRITE_ERROR -7
69#define PMUSR_MSR_FILE_WRITE_ERROR -8
71#define PMUSR_DATA_FILE_READ_ERROR -9
73#define PMUSR_MSR_RUN_ERROR -10
75#define PMUSR_UNSUPPORTED_FEATURE -11
85#define PRUN_SINGLE_HISTO 0
87#define PRUN_SINGLE_HISTO_RRF 1
89#define PRUN_ASYMMETRY 2
91#define PRUN_ASYMMETRY_RRF 3
93#define PRUN_MU_MINUS 4
95#define PRUN_ASYMMETRY_BNMR 5
97#define PRUN_NON_MUSR 8
119#define PMUON_LIFETIME 2.1969811
138#define GAMMA_BAR_MUON 1.355388094e-2
149#define ACCEL_PERIOD_PSI 0.01975
151#define ACCEL_PERIOD_TRIUMF 0.04337
153#define ACCEL_PERIOD_RAL 0.0
163#define POST_PILEUP_HISTO_OFFSET 20
172#define PMUSR_UNDEFINED -9.9e99
183#define MSR_TAG_TITLE 0
185#define MSR_TAG_FITPARAMETER 1
187#define MSR_TAG_THEORY 2
189#define MSR_TAG_FUNCTIONS 3
191#define MSR_TAG_GLOBAL 4
195#define MSR_TAG_COMMANDS 6
197#define MSR_TAG_FOURIER 7
199#define MSR_TAG_PLOT 8
201#define MSR_TAG_STATISTIC 9
212#define MSR_FITTYPE_SINGLE_HISTO 0
214#define MSR_FITTYPE_SINGLE_HISTO_RRF 1
216#define MSR_FITTYPE_ASYM 2
218#define MSR_FITTYPE_ASYM_RRF 3
220#define MSR_FITTYPE_MU_MINUS 4
222#define MSR_FITTYPE_BNMR 5
224#define MSR_FITTYPE_NON_MUSR 8
235#define MSR_PLOT_SINGLE_HISTO 0
237#define MSR_PLOT_SINGLE_HISTO_RRF 1
239#define MSR_PLOT_ASYM 2
241#define MSR_PLOT_ASYM_RRF 3
243#define MSR_PLOT_MU_MINUS 4
245#define MSR_PLOT_BNMR 5
247#define MSR_PLOT_NON_MUSR 8
258#define MSR_PARAM_MAP_OFFSET 10000
260#define MSR_PARAM_FUN_OFFSET 20000
270#define FOURIER_UNIT_NOT_GIVEN 0
272#define FOURIER_UNIT_GAUSS 1
274#define FOURIER_UNIT_TESLA 2
276#define FOURIER_UNIT_FREQ 3
278#define FOURIER_UNIT_CYCLES 4
290#define FOURIER_APOD_NOT_GIVEN 0
292#define FOURIER_APOD_NONE 1
294#define FOURIER_APOD_WEAK 2
296#define FOURIER_APOD_MEDIUM 3
298#define FOURIER_APOD_STRONG 4
308#define FOURIER_PLOT_NOT_GIVEN 0
310#define FOURIER_PLOT_REAL 1
312#define FOURIER_PLOT_IMAG 2
314#define FOURIER_PLOT_REAL_AND_IMAG 3
316#define FOURIER_PLOT_POWER 4
318#define FOURIER_PLOT_PHASE 5
320#define FOURIER_PLOT_PHASE_OPT_REAL 6
331#define RRF_UNIT_UNDEF -1
333#define RRF_UNIT_kHz 0
335#define RRF_UNIT_MHz 1
337#define RRF_UNIT_Mcs 2
349#define RRF_FREQ_UNDEF 1.0e10
571 virtual void SetSize(
const UInt_t size);
583 virtual void SetLabel(
const UInt_t idx,
const TString str);
601 virtual void AppendSubData(
const UInt_t idx,
const Double_t dval);
658 virtual void Clear();
729 virtual Bool_t
IsPresent(UInt_t histoNo);
769 virtual Double_t
GetT0Bin(UInt_t histoNo);
869 virtual const Bool_t
IsPresent(UInt_t histoNo) {
return fData.IsPresent(histoNo); }
870 virtual const Double_t
GetT0Bin(
const UInt_t histoNo) {
return fData.GetT0Bin(histoNo); }
912 virtual void SetTemperature(
const UInt_t idx,
const Double_t temp,
const Double_t errTemp);
913 virtual void SetTempError(
const UInt_t idx,
const Double_t errTemp);
916 virtual void SetRingAnode(
const UInt_t idx,
const Double_t dval);
1043 virtual Double_t
GetRRFFreq(
const char *unit);
1051 virtual Double_t
GetT0Bin(UInt_t idx=0);
1054 virtual Double_t
GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx);
1063 virtual void SetRRFFreq(Double_t freq,
const char *unit);
1068 virtual void SetT0Bin(Double_t dval, Int_t idx=-1);
1069 virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx);
1071 virtual void SetFitRange(Double_t dval, UInt_t idx);
1139 virtual Int_t
GetMap(UInt_t idx);
1149 virtual Double_t
GetT0Bin(UInt_t idx=0);
1152 virtual Double_t
GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx);
1166 virtual void SetRunName(TString &str, Int_t idx=-1);
1167 virtual void SetBeamline(TString &str, Int_t idx=-1);
1177 virtual void SetMap(Int_t mapVal, Int_t idx=-1);
1182 virtual void SetBkgFix(Double_t dval, Int_t idx);
1185 virtual void SetT0Bin(Double_t dval, Int_t idx=-1);
1186 virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx);
1188 virtual void SetFitRange(Double_t dval, UInt_t idx);
1196 virtual void SetParGlobal(
const TString &str, Int_t ival);
1418 virtual bool Parse(std::string &errorMsg,
bool ignoreFirstToken=
false);
1429 virtual bool IsNumber(std::string &str) {
return (str.find_first_not_of(
"0123456789") == std::string::npos); }
std::vector< UInt_t > PUIntVector
std::vector< PRunNameTemplate > PRunNameTemplateList
std::pair< Double_t, Double_t > PDoublePair
@ kEmpty
No operation active.
@ kFit
Fitting mode - perform least-squares fit to data.
@ kView
Viewing mode - display data and theory without fitting.
std::vector< PMsrRunBlock > PMsrRunList
std::vector< Bool_t > PBoolVector
std::vector< PMsrPlotStructure > PMsrPlotList
std::vector< PMsrLineStructure > PMsrLines
std::vector< PDoublePair > PDoublePairVector
std::pair< Int_t, Int_t > PIntPair
std::vector< Int_t > PIntVector
std::vector< PMsrParamStructure > PMsrParamList
std::vector< PIntPair > PIntPairVector
std::vector< TString > PStringVector
std::vector< Double_t > PDoubleVector
std::vector< PRawRunData > PRawRunDataList
virtual ~PMsrGlobalBlock()
virtual Bool_t IsPresent()
virtual void SetT0Bin(Double_t dval, Int_t idx=-1)
Bool_t fFitRangeInBins
flag telling if fit range is given in time or in bins
virtual void SetFitRangeInBins(Bool_t bval)
virtual void SetRRFFreq(Double_t freq, const char *unit)
virtual void SetFitRange(Double_t dval, UInt_t idx)
virtual void SetGlobalPresent(Bool_t bval)
virtual Int_t GetFitType()
Double_t fFitRange[2]
fit range in (us)
Int_t fDataRange[4]
data bin range (fit type 0, 1, 2, 4)
virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx)
virtual void SetFitType(Int_t ival)
Double_t fAlpha
estimated alpha value from F/B counts
Int_t fFitType
fit type: 0=single histo fit, 1=single histo RRF fit, 2=asymmetry fit, 4=mu^- single histo fit,...
virtual Int_t GetAddT0BinSize(UInt_t addRunIdx)
virtual Int_t GetRRFUnitTag()
std::vector< PDoubleVector > fAddT0
addt0 bins (fit type 0, 1, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2,...
virtual Double_t GetFitRange(UInt_t idx)
Int_t fFitRangeOffset[2]
if fit range is given in bins it can have the form fit fgb+n0 lgb-n1. This variable holds the n0 and ...
Bool_t fGlobalPresent
flag showing if a GLOBAL block is present at all.
Int_t fRRFUnitTag
RRF unit tag.
virtual UInt_t GetT0BinSize()
virtual void SetDeadTimeCorrection(TString str)
virtual Double_t GetEstimatedAlpha()
virtual Bool_t IsFitRangeInBin()
virtual TString GetDeadTimeCorrection()
virtual Int_t GetDataRange(UInt_t idx)
virtual void SetDataRange(Int_t ival, Int_t idx)
virtual Int_t GetRRFPacking()
TString fDeadTimeCorrection
tells if deadtime correction (pulsed sources) should be applied. Possible value: 'no' (default),...
virtual void SetPacking(Int_t ival)
Int_t fRRFPacking
RRF packing.
virtual TString GetRRFUnit()
Double_t fRRFPhase
RRF phase in (°)
PDoubleVector fT0
t0 bins (fit type 0, 1, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0,...
Int_t fPacking
packing/rebinning
virtual void SetRRFPhase(Double_t phase)
virtual Int_t GetPacking()
virtual void SetRRFPacking(Int_t pack)
Double_t fRRFFreq
RRF frequency given in units of (MHz, Mc, T)
virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)
virtual UInt_t GetAddT0BinEntries()
virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)
virtual Int_t GetFitRangeOffset(UInt_t idx)
virtual Double_t GetT0Bin(UInt_t idx=0)
virtual Double_t GetRRFPhase()
virtual Double_t GetRRFFreq(const char *unit)
PStringVector fInstitute
e.g. psi, ral, triumf (former: run format)
virtual PIntVector * GetMap()
virtual std::map< TString, Int_t > * GetParGlobal()
virtual void SetLifetimeParamNo(Int_t ival)
Int_t fBkgRange[4]
background bin range (fit type 0, 2, 4)
Int_t fNormParamNo
N0 parameter number (fit type 0)
virtual Int_t GetBetaParamNo()
virtual TString * GetYDataLabel()
virtual TString * GetInstitute(UInt_t idx=0)
Double_t fAlpha
estimated alpha value from F/B counts
Double_t fBkgEstimated[2]
keeps estimated background values (if present)
Int_t fAlphaParamNo
alpha parameter number (fit type 2, 4)
virtual Bool_t IsLifetimeCorrected()
virtual Int_t GetDataRange(UInt_t idx)
virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)
virtual TString * GetFileFormat(UInt_t idx=0)
virtual UInt_t GetBeamlineSize()
virtual void SetBeamline(TString &str, Int_t idx=-1)
virtual Int_t GetPacking()
virtual void SetBkgFix(Double_t dval, Int_t idx)
virtual TString * GetBeamline(UInt_t idx=0)
Int_t fDataRange[4]
data bin range (fit type 0, 2, 4)
virtual Double_t GetFitRange(UInt_t idx)
virtual void SetXDataLabel(TString &str)
virtual void SetFitType(Int_t ival)
virtual Int_t GetAddT0BinSize(UInt_t addRunIdx)
Int_t fLifetimeParamNo
muon lifetime parameter number (fit type 0)
virtual Int_t GetNormParamNo()
virtual Double_t GetBkgEstimated(UInt_t idx)
virtual PIntVector * GetMapGlobal()
virtual Int_t GetYDataIndex()
TString fDeadTimeCorrection
tells if deadtime correction (pulsed sources) should be applied. Possible value: 'no' (default),...
virtual void SetFitRange(Double_t dval, UInt_t idx)
virtual void SetBkgEstimated(Double_t dval, Int_t idx)
PDoubleVector fT0
t0 bins (fit type 0, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0,...
Int_t fBkgFitParamNo
background fit parameter number (fit type 0)
virtual UInt_t GetForwardHistoNoSize()
virtual void SetFileFormat(TString &str, Int_t idx=-1)
virtual void SetEstimatedAlpha(Double_t dval)
virtual Int_t GetLifetimeParamNo()
virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx)
PStringVector fBeamline
e.g. mue4, mue1, pim3, emu, m15, ... (former: run type)
Int_t fBetaParamNo
beta parameter number (fit type 2, 4)
virtual TString * GetRunName(UInt_t idx=0)
virtual UInt_t GetAddT0BinEntries()
Bool_t fLifetimeCorrection
lifetime correction flag for viewing (fit type 0)
virtual void SetMap(Int_t mapVal, Int_t idx=-1)
TString fXYDataLabel[2]
used to get the indices via labels when using db-files (fit type 8)
virtual UInt_t GetInstituteSize()
virtual Double_t GetEstimatedAlpha()
virtual TString GetDeadTimeCorrection()
PStringVector fFileFormat
e.g. root, nexus, psi-bin, mud, ascii, db
virtual void SetParGlobal(const TString &str, Int_t ival)
virtual UInt_t GetFileFormatSize()
PStringVector fRunName
name of the run file
virtual UInt_t GetT0BinSize()
virtual void SetPacking(Int_t ival)
virtual void SetYDataIndex(Int_t ival)
virtual void SetLifetimeCorrection(Bool_t bval)
virtual void SetMapGlobal(UInt_t idx, Int_t ival)
PIntVector fMapGlobal
here is stored if the maps used in the RUN block are global or not
virtual Double_t GetBkgFix(UInt_t idx)
virtual void SetT0Bin(Double_t dval, Int_t idx=-1)
Int_t fXYDataIndex[2]
used to get the data indices when using db-files (fit type 8)
virtual Int_t GetForwardHistoNo(UInt_t idx=0)
virtual Int_t GetXDataIndex()
Bool_t fFitRangeInBins
flag telling if fit range is given in time or in bins
virtual Int_t GetAlphaParamNo()
virtual void SetBkgFitParamNo(Int_t ival)
virtual Int_t GetFitRangeOffset(UInt_t idx)
virtual void SetBackwardHistoNo(Int_t histoNo, Int_t idx=-1)
virtual void SetDataRange(Int_t ival, Int_t idx)
virtual Int_t GetFitType()
virtual void SetXDataIndex(Int_t ival)
virtual Int_t GetBkgRange(UInt_t idx)
virtual Int_t GetBackwardHistoNo(UInt_t idx=0)
virtual void SetRunName(TString &str, Int_t idx=-1)
virtual UInt_t GetBackwardHistoNoSize()
std::map< TString, Int_t > fParGlobal
here is stored if the parameters used in the RUN block are global or not
PIntVector fBackwardHistoNo
backward histogram number (fit type 2, 4)
Double_t fFitRange[2]
fit range in (us)
Double_t fBkgFix[2]
fixed background in (1/ns) (fit type 0, 2, 4)
virtual void SetBetaParamNo(Int_t ival)
virtual void SetYDataLabel(TString &str)
virtual void SetAlphaParamNo(Int_t ival)
virtual void SetBkgRange(Int_t ival, Int_t idx)
PIntVector fMap
map vector needed to switch parameters for different runs within a single theory
virtual Int_t GetBkgFitParamNo()
Int_t fFitRangeOffset[2]
if fit range is given in bins it can have the form fit fgb+n0 lgb-n1. This variable holds the n0 and ...
virtual void SetInstitute(TString &str, Int_t idx=-1)
virtual Bool_t IsFitRangeInBin()
Int_t fFitType
fit type: 0=single histo fit, 2=asymmetry fit, 4=mu^- single histo fit, 8=non muSR fit
virtual Double_t GetT0Bin(UInt_t idx=0)
virtual void SetDeadTimeCorrection(TString str)
virtual void SetNormParamNo(Int_t ival)
PIntVector fForwardHistoNo
forward histogram number (fit type 0, 2, 4)
virtual void SetFitRangeInBins(Bool_t bval)
virtual TString * GetXDataLabel()
virtual void SetForwardHistoNo(Int_t histoNo, Int_t idx=-1)
Int_t fPacking
packing/rebinning
virtual UInt_t GetRunNameSize()
virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)
std::vector< PDoubleVector > fAddT0
t0 bins for addrun's
virtual void AppendLabel(const TString str)
std::vector< PDoubleVector > fData
vector of all data
virtual void AppendErrData(const PDoubleVector &data)
virtual void AppendSubErrData(const UInt_t idx, const Double_t dval)
virtual const PStringVector * GetDataTags()
Returns pointer to vector of data tags (identifiers for each data column)
virtual void AppendDataTag(const TString str)
PStringVector fLabels
vector of all labels (used for x-, y-axis title in view)
virtual ~PNonMusrRawRunData()
Bool_t fFromAscii
if true: data file was an ascii input file, otherwise it is a db/dat input file
virtual void AppendSubData(const UInt_t idx, const Double_t dval)
virtual void SetFromAscii(const Bool_t bval)
virtual const std::vector< PDoubleVector > * GetData()
Returns pointer to vector of data columns.
virtual const PStringVector * GetLabels()
Returns pointer to vector of axis/column labels.
PStringVector fDataTags
vector of all data tags
virtual const std::vector< PDoubleVector > * GetErrData()
Returns pointer to vector of error data columns.
virtual void SetSize(const UInt_t size)
virtual void AppendData(const PDoubleVector &data)
std::vector< PDoubleVector > fErrData
vector of all data errors
virtual Bool_t FromAscii()
Returns true if data was loaded from ASCII file, false for db/dat format.
virtual void SetLabel(const UInt_t idx, const TString str)
virtual Int_t GetFirstGoodBin()
Returns the first bin of good data range (after prompt peak)
virtual PDoubleVector * GetData()
Returns pointer to raw histogram data vector (counts per bin)
virtual void SetLastBkgBin(Int_t lbb)
virtual void Clear()
Clears all data from this histogram set.
Int_t fLastGoodBin
keeps the last good bin of the data set
virtual void SetLastGoodBin(Int_t lgb)
virtual Double_t GetTimeZeroBin()
Returns the time-zero bin (t0) position.
virtual void SetHistoNo(Int_t no)
virtual void SetData(PDoubleVector data)
Int_t fFirstBkgBin
keeps the first background bin of the data set
virtual Int_t GetHistoNo()
Returns the histogram number as stored in the data file.
Double_t fTimeZeroBin
keeps the time zero bin
virtual ~PRawRunDataSet()
TString fTitle
histogram title.
virtual Int_t GetLastBkgBin()
Returns the last bin of background range.
virtual TString GetName()
Returns the histogram name.
virtual void SetName(TString str)
virtual Int_t GetLastGoodBin()
Returns the last bin of good data range.
virtual void SetTimeZeroBinEstimated(Double_t tzb)
virtual void SetFirstBkgBin(Int_t fbb)
virtual void SetTitle(TString str)
PDoubleVector fData
keeps the histogram data
virtual Double_t GetTimeZeroBinEstimated()
Returns the estimated time-zero bin from automatic determination.
Int_t fLastBkgBin
keeps the last background bin of the data set
virtual void SetTimeZeroBin(Double_t tzb)
Int_t fHistoNo
corresponds to the histogram number in the data file
Int_t fFirstGoodBin
keeps the first good bin of the data set
virtual TString GetTitle()
Returns the histogram title string.
Double_t fTimeZeroBinEstimated
keeps the estimated time zero bin
virtual Int_t GetFirstBkgBin()
Returns the first bin of background range.
virtual void SetFirstGoodBin(Int_t fgb)
TString fName
keeps the histogram name.
virtual UInt_t Size()
Returns the number of histogram data sets in this vector.
virtual PRawRunDataSet * GetSet(UInt_t idx)
virtual PRawRunDataSet * Get(UInt_t histoNo)
virtual ~PRawRunDataVector()
virtual Double_t GetT0BinEstimated(UInt_t histoNo)
std::vector< PRawRunDataSet > fDataVec
virtual PIntPair GetGoodDataBin(UInt_t histoNo)
virtual Double_t GetT0Bin(UInt_t histoNo)
virtual PRawRunDataSet * operator[](UInt_t histoNo)
virtual PDoubleVector * GetData(UInt_t histoNo)
virtual Bool_t IsPresent(UInt_t histoNo)
virtual PIntPair GetBkgBin(UInt_t histoNo)
virtual void Set(PRawRunDataSet dataSet, Int_t idx=-1)
virtual const TString * GetSpecificValidatorUrl()
TString fRunTitle
run title
virtual void SetStopDate(const TString str)
virtual const Double_t GetTransport()
virtual PRawRunDataSet * GetDataSet(const UInt_t idx, Bool_t wantHistoNo=true)
Double_t fMuonBeamMomentum
given in MeV/c, for LEM this is the momentum of the secondary beamline and NOT the momentum of the lo...
TString fVersion
keeps the version information of the data file
TString fSetup
description of the setup of this run
TString fStartTime
start time of the run
virtual void SetRingAnode(const UInt_t idx, const Double_t dval)
Int_t fRunNumber
run number
PNonMusrRawRunData fDataNonMusr
keeps all ascii- or db-file info in case of nonMusr fit
virtual void SetGenerator(const TString &str)
virtual const PDoubleVector * GetDataBin(const UInt_t histoNo)
virtual const Int_t GetNumberOfGoodFrames()
virtual const Double_t GetT0Bin(const UInt_t histoNo)
virtual const Double_t GetTimeResolution()
virtual const TString * GetStartDate()
virtual void SetMuonSource(const TString &str)
TString fStartDate
start date of the run
virtual const TString * GetBeamline()
virtual void SetTimeResolution(const Double_t dval)
TString fFileName
keeps the name of the original data file
virtual const Double_t GetMuonSpinAngle()
virtual const TString * GetSample()
virtual const PNonMusrRawRunData * GetDataNonMusr()
virtual const TString * GetMagnetName()
virtual void SetSample(const TString str)
virtual const TString * GetVersion()
virtual void SetVersion(const TString &str)
virtual void SetEnergy(const Double_t dval)
virtual void SetStartDate(const TString str)
virtual void SetTransport(const Double_t dval)
PRawRunDataVector fData
keeps the histos together with the histo related properties such as T0, first good bin,...
time_t fStopDateTimeSec
stop run given as time_t object
virtual void SetRunName(const TString &str)
virtual void SetOrientation(const TString str)
virtual const time_t GetStopDateTime()
virtual const TString * GetOrientation()
virtual const Double_t GetMuonBeamMomentum()
virtual void SetRedGreenOffset(PIntVector &ivec)
virtual const TString * GetLaboratory()
TString fStopTime
stop time of the run
TString fSample
description of the sample
virtual const PIntPair GetBkgBin(const UInt_t histoNo)
virtual void SetSetup(const TString str)
virtual const TString * GetInstrument()
virtual const TString * GetStartTime()
virtual const PDoubleVector GetRingAnode()
virtual void SetStopTime(const TString str)
TString fComment
keeps the data file comment
virtual const Bool_t IsPresent(UInt_t histoNo)
virtual const Double_t GetTempError(const UInt_t idx)
TString fBeamline
keeps the name of the be beamline, e.g. muE4, piM3.1, ...
PDoublePairVector fTemp
measured temperatures and standard deviations during the run
PIntVector fRedGreenOffset
keeps the Red/Green offsets
virtual void SetSpecificValidatorUrl(const TString &str)
virtual const UInt_t GetNoOfTemperatures()
virtual const TString * GetStopTime()
TString fMagnet
name of the sample magnet
virtual const Bool_t DeadTimeCorrectionReady()
TString fRunName
name of the run as found in the msr-file
virtual void SetStopDateTime(const time_t val)
virtual void SetRunTitle(const TString str)
virtual void SetMuonSpinAngle(const Double_t dval)
Int_t fNumberOfGoodFrames
needed to correct dead times at pulsed sources
virtual void SetTemperature(const UInt_t idx, const Double_t temp, const Double_t errTemp)
virtual const time_t CalcStopDateTime(bool &ok)
virtual void SetCryoName(const TString str)
Double_t fEnergy
implantation energy of the muon
TString fGenericValidatorURL
keeps the generic validator MusrRoot URL
virtual void SetFileName(const TString &str)
virtual void SetComment(const TString &str)
virtual void SetMuonSpecies(const TString &str)
TString fGenerator
keeps the data file generator name
virtual const time_t GetStartDateTime()
Double_t fField
magnetic field value in (G)
time_t fStartDateTimeSec
start run given as time_t object
virtual const Double_t GetField()
virtual const TString * GetRunTitle()
virtual const Double_t GetEnergy()
virtual void SetBeamline(const TString &str)
virtual void SetTempError(const UInt_t idx, const Double_t errTemp)
virtual void SetNumberOfGoodFrames(Int_t ival)
virtual const TString * GetMuonSpecies()
virtual const TString * GetGenerator()
virtual const TString * GetComment()
std::vector< float > fDeadTimeParam
dead time parameter vector needed for pulsed sources
virtual const TString * GetFileName()
Double_t fTimeResolution
time resolution of the run in (ns)
virtual void SetRunNumber(const Int_t &val)
virtual void ClearTemperature()
virtual void SetMuonBeamMomentum(const Double_t dval)
virtual const TString * GetSetup()
virtual void SetInstrument(const TString &str)
virtual const PIntVector GetRedGreenOffset()
Double_t fTransport
LEM transport settings (Moderator HV)
TString fCryo
name of the cryo
virtual const TString * GetMuonSource()
TString fMuonSource
keeps the type of muon source, e.g. continous surface beam, pulsed beam, low energy muon beam
virtual const TString * GetStopDate()
virtual const Int_t GetRunNumber()
virtual void SetStartDateTime(const time_t val)
virtual void SetField(const Double_t dval)
virtual const TString * GetRunName()
virtual void SetStartTime(const TString str)
Double_t fMuonSpinAngle
gives the muon spin angle in degrees (reference frame depends on the instrument)
virtual const UInt_t GetNoOfHistos()
virtual const std::vector< float > GetDeadTimeParam()
virtual const TString * GetCryoName()
virtual void SetLaboratory(const TString &str)
virtual const Double_t GetT0BinEstimated(const UInt_t histoNo)
TString fMuonSpecies
positive muon or negative muon
virtual const PDoublePairVector * GetTemperature() const
virtual const PIntPair GetGoodDataBin(const UInt_t histoNo)
PDoubleVector fRingAnode
LEM ring anode HVs (L,R[,T,B])
TString fInstrument
keeps the name of the instrument, e.g. LEM, GPS, MUSR, EMU, ...
virtual void SetMagnetName(const TString str)
virtual void SetDataSet(PRawRunDataSet &dataSet, UInt_t idx=-1)
TString fLaboratory
keeps the name of the laboratory, e.g. PSI, ISIS, TRIUMF, JPARC
virtual const TString * GetGenericValidatorUrl()
TString fStopDate
stop date of the run
virtual const time_t CalcStartDateTime(bool &ok)
virtual void SetDeadTimeParam(std::vector< float > dvec)
TString fSpecificValidatorURL
keeps the instrument specific validator MusrRoot URL
virtual void SetGenericValidatorUrl(const TString &str)
TString fOrientation
description of the orientation
virtual void SetDataTimeStep(Double_t dval)
virtual const PDoubleVector * GetX()
Returns pointer to x-axis vector (used only for non-μSR data)
virtual void AppendErrorValue(Double_t dval)
virtual void AppendValue(Double_t dval)
virtual void SetDataTimeStart(Double_t dval)
virtual Double_t GetTheoryTimeStart()
Returns the start time for theory evaluation in microseconds (μs)
virtual const PDoubleVector * GetValue()
Returns pointer to data value vector (asymmetry, counts, or y-data)
Double_t fTheoryTimeStep
time step of the theory, i.e. the time length of a bin
virtual const PDoubleVector * GetTheory()
Returns pointer to theory value vector.
virtual Double_t GetDataTimeStep()
Returns the time bin width for data in microseconds (μs)
virtual Double_t GetTheoryTimeStep()
Returns the time step for theory evaluation in microseconds (μs)
Double_t fTheoryTimeStart
start time of the theory
PDoubleVector fXTheory
x-axis vector. Only used for non-muSR
virtual void SetTheoryTimeStart(Double_t dval)
virtual const PDoubleVector * GetError()
Returns pointer to data error vector (statistical uncertainties)
virtual void AppendXTheoryValue(Double_t dval)
virtual Double_t GetDataTimeStart()
Returns the start time of the data set in microseconds (μs)
PDoubleVector fX
x-axis vector. Only used for non-muSR
virtual const PDoubleVector * GetXTheory()
Returns pointer to x-axis vector for theory (non-μSR only)
PDoubleVector fValue
data vector
Double_t fDataTimeStart
start time for the data set
virtual void AppendXValue(Double_t dval)
PDoubleVector fTheory
theory vector
virtual void ReplaceTheory(const PDoubleVector &theo)
PDoubleVector fError
data error vector
Double_t fDataTimeStep
time step for the data set, i.e. the time length of a bin
virtual void SetTheoryTimeStep(Double_t dval)
virtual void AppendTheoryValue(Double_t dval)
virtual void SetTheoryValue(UInt_t i, Double_t dval)
PStringNumberList(std::string str)
virtual ~PStringNumberList()
virtual PUIntVector GetList()
virtual void StripSpaces()
PStringNumberList(char *str)
virtual bool IsNumber(std::string &str)
virtual bool Parse(std::string &errorMsg, bool ignoreFirstToken=false)
TString inTemplate
holds the input file template
PStringVector outPathFileName
holds the out path/file name
TString outPath
holds the output path
UInt_t idf
IDF version for NeXus files.
TString outFileName
holds the output file name
PUIntVector runList
holds the run number list to be converted
PStringVector inFileName
holds the file name of the input data file
UInt_t compressionTag
0=no compression, 1=gzip compression, 2=bzip2 compression
TString outTemplate
holds the output file template
PIntVector groupHistoList
holds the histo group list offset (used to define for MusrRoot files, what to be exported)
TString outFormat
holds the information about the output data file format
TString inFormat
holds the information about the input data file format
Bool_t useStandardOutput
flag showing if the converted shall be sent to the standard output
UInt_t rebin
holds the number of bins to be packed
TString year
holds the information about the year to be used
TString compressFileName
holds the name of the outputfile name in case of compression is used
Int_t fPlotTag
tag used for initial plot. 0=real, 1=imaginary, 2=real & imaginary (default), 3=power,...
Bool_t fFourierBlockPresent
flag indicating if a Fourier block is present in the msr-file
Double_t fPlotRange[2]
field/frequency plot range
PDoubleVector fPhase
phase(s)
Double_t fRangeForPhaseCorrection[2]
field/frequency range for automatic phase correction
PIntVector fPhaseParamNo
parameter number(s) if used instead of a phase value
Int_t fFourierPower
i.e. zero padding up to 2^fFourierPower, default = 0 which means NO zero padding
Int_t fUnits
flag used to indicate the units. 1=field units (G); 2=field units (T); 3=frequency units (MHz); 4=Mc/...
Double_t fPhaseIncrement
phase increment for manual phase optimization
Int_t fPhaseRef
phase reference for relative phase(s)
Bool_t fDCCorrected
if set true, the dc offset of the signal/theory will be removed before the FFT is made.
Int_t fApodization
tag indicating the kind of apodization wished, 0=no appodization (default), 1=weak,...
Int_t fLineNo
Line number in original MSR file (1-based)
TString fLine
Content of the MSR file line.
Double_t fStep
Step size / error / negative error (context-dependent)
Double_t fPosError
Positive error for asymmetric uncertainties.
Bool_t fLowerBoundaryPresent
True if lower bound constraint is active.
Int_t fNoOfParams
Total number of parameters in FITPARAMETER block.
Double_t fLowerBoundary
Lower boundary value for parameter constraints.
Int_t fNo
Parameter number (1, 2, 3, ...)
Double_t fUpperBoundary
Upper boundary value for parameter constraints.
Bool_t fPosErrorPresent
True if positive error explicitly defined (asymmetric errors)
Bool_t fUpperBoundaryPresent
True if upper bound constraint is active.
Bool_t fIsGlobal
True if parameter is global (for msr2data global mode)
Double_t fValue
Parameter value (initial or fitted)
TString fName
Parameter name (e.g., "alpha", "lambda", "field")
Bool_t fUseFitRanges
yes -> use the fit ranges to plot the data, no (default) -> use range information if present
PIntVector fRuns
list of runs to be plotted
UInt_t fRRFUnit
RRF frequency unit. 0=kHz, 1=MHz, 2=Mc/s, 3=Gauss, 4=Tesla.
Bool_t fLogY
yes -> y-axis in log-scale, no (default) -> y-axis in lin-scale
Bool_t fLogX
yes -> x-axis in log-scale, no (default) -> x-axis in lin-scale
Int_t fRRFPhaseParamNo
parameter number if used instead of a RRF phase value
Double_t fRRFFreq
RRF frequency.
PDoubleVector fYmax
asymmetry/counts maximum
Bool_t fLifeTimeCorrection
needed for single histo. If yes, only the asymmetry is shown, otherweise the positron spectrum
Int_t fViewPacking
-1 -> use the run packing to generate the view, otherwise is fViewPacking for the binning of ALL runs...
Double_t fRRFPhase
RRF phase.
UInt_t fRRFPacking
rotating reference frame (RRF) packing
PDoubleVector fYmin
asymmetry/counts minimum
PDoubleVector fTmax
time maximum
PDoubleVector fTmin
time minimum
UInt_t fNdf
number of degrees of freedom
Double_t fMinExpected
expected total chi2 or max. likelihood
TString fDate
string holding fitting date and time
PMsrLines fStatLines
statistics block in msr-file clear text
Double_t fMin
chisq or max. likelihood
PUIntVector fNdfPerHisto
number of degrees of freedom per histo
PDoubleVector fMinExpectedPerHisto
expected pre histo chi2 or max. likelihood
PDoubleVector fMinPerHisto
chisq or max. likelihood per histo
Bool_t fChisq
flag telling if min = chi2 or min = max.likelihood
Bool_t fValid
flag showing if the statistics block is valid, i.e. a fit took place which converged
TString runNameTemplate
File path template with placeholders (r=run, y=year)
TString instrument
Instrument identifier (e.g., "GPS", "LEM", "DOLLY")
Bool_t writeExpectedChisq
if set to true, expected chisq and chisq per block will be written
Bool_t estimateN0
if set to true, for single histogram fits N0 will be estimated