musrfit 1.10.0
PRunNonMusr.h
Go to the documentation of this file.
1/***************************************************************************
2
3 PRunNonMusr.h
4
5 Author: Andreas Suter
6 e-mail: andreas.suter@psi.ch
7
8***************************************************************************/
9
10/***************************************************************************
11 * Copyright (C) 2007-2026 by Andreas Suter *
12 * andreas.suter@psi.ch *
13 * *
14 * This program is free software; you can redistribute it and/or modify *
15 * it under the terms of the GNU General Public License as published by *
16 * the Free Software Foundation; either version 2 of the License, or *
17 * (at your option) any later version. *
18 * *
19 * This program is distributed in the hope that it will be useful, *
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
22 * GNU General Public License for more details. *
23 * *
24 * You should have received a copy of the GNU General Public License *
25 * along with this program; if not, write to the *
26 * Free Software Foundation, Inc., *
27 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
28 ***************************************************************************/
29
30#ifndef _PRUNNONMUSR_H_
31#define _PRUNNONMUSR_H_
32
33#include "PMusr.h"
34#include "PRunBase.h"
35
132class PRunNonMusr : public PRunBase
133{
134 public:
147 PRunNonMusr();
148
183 PRunNonMusr(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag, Bool_t theoAsData);
184
191 virtual ~PRunNonMusr();
192
225 virtual Double_t CalcChiSquare(const std::vector<Double_t>& par);
226
242 virtual Double_t CalcChiSquareExpected(const std::vector<Double_t>& par);
243
260 virtual Double_t CalcMaxLikelihood(const std::vector<Double_t>& par);
261
275 virtual void CalcTheory();
276
293 virtual UInt_t GetNoOfFitBins();
294
310 virtual void SetFitRangeBin(const TString fitRange) {}
311
327 virtual UInt_t GetXIndex();
328
344 virtual UInt_t GetYIndex();
345
346 protected:
366 virtual Bool_t PrepareData();
367
391 virtual Bool_t PrepareFitData();
392
408 virtual Bool_t PrepareViewData();
409
410 private:
424
426
446 Int_t fPacking;
447
459
467
477};
478
479#endif // _PRUNNONMUSR_H_
EPMusrHandleTag
Definition PMusr.h:413
MSR file parser and manager for the musrfit framework.
PRunBase()
Default constructor.
Definition PRunBase.cpp:54
Raw data file reader and format converter for μSR data.
Int_t fStartTimeBin
Index of first data point in fit range.
virtual ~PRunNonMusr()
Virtual destructor (no cleanup needed for this class).
virtual UInt_t GetNoOfFitBins()
Returns the number of x-y points within the fit range.
PRawRunData * fRawRunData
Pointer to raw run data handler (not owned).
virtual Bool_t PrepareData()
Main data preparation orchestrator for non-μSR data.
Bool_t fTheoAsData
Theory calculation mode flag.
Int_t fPacking
Data point averaging/grouping factor.
PRunNonMusr()
Default constructor creating an empty, invalid non-μSR run object.
virtual Double_t CalcChiSquareExpected(const std::vector< Double_t > &par)
Calculates expected χ² (NOT IMPLEMENTED for non-μSR).
virtual void SetFitRangeBin(const TString fitRange)
Sets fit range in bin units (NOT SUPPORTED for non-μSR).
Int_t fEndTimeBin
Index of last data point in fit range (inclusive).
virtual Double_t CalcChiSquare(const std::vector< Double_t > &par)
Calculates χ² between non-μSR data and theory.
virtual void CalcTheory()
Evaluates theory function (empty implementation for non-μSR).
virtual Bool_t PrepareViewData()
Prepares x-y data for viewing/plotting.
virtual UInt_t GetXIndex()
Returns the x-axis column index from MSR file specification.
virtual Double_t CalcMaxLikelihood(const std::vector< Double_t > &par)
Calculates maximum likelihood (NOT IMPLEMENTED for non-μSR).
virtual UInt_t GetYIndex()
Returns the y-axis column index from MSR file specification.
UInt_t fNoOfFitBins
Number of x-y points within fit range (fFitStartTime ≤ x ≤ fFitEndTime)
virtual Bool_t PrepareFitData()
Prepares x-y data for fitting.