ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtPSADeconvFit.h
Go to the documentation of this file.
1 #ifndef ATPSADECONVFIT_H
2 #define ATPSADECONVFIT_H
3 
4 #include "AtPSADeconv.h"
5 #include "AtPad.h" // for AtPad, AtPad::trace
6 
7 #include <Fit/FitResult.h> // for FitResult
8 #include <memory> // for unique_ptr, make_unique
9 class AtPSA;
10 
11 class TH1F;
12 class TF1;
13 class AtPSADeconvFit : public AtPSADeconv {
14 protected:
15  double fDiffLong; //< Longitudinal diffusion coefficient
16  static thread_local std::unique_ptr<TH1F> fHist;
17 
18 public:
19  virtual void Init() override;
20  virtual std::unique_ptr<AtPSA> Clone() override { return std::make_unique<AtPSADeconvFit>(*this); }
21 
22 protected:
23  HitData getZandQ(const AtPad::trace &charge) override;
24 
25  const ROOT::Fit::FitResult FitHistorgramParallel(TH1F &hist, TF1 &func);
26 };
27 
28 #endif // #ifndef ATPSADECONVFIT_H
AtPad.h
AtPSADeconvFit::Clone
virtual std::unique_ptr< AtPSA > Clone() override
Definition: AtPSADeconvFit.h:20
AtPSADeconvFit::getZandQ
HitData getZandQ(const AtPad::trace &charge) override
Definition: AtPSADeconvFit.cxx:39
AtPad::trace
std::array< Double_t, 512 > trace
Definition: AtPad.h:41
AtPSADeconvFit
Definition: AtPSADeconvFit.h:13
AtPSADeconvFit::FitHistorgramParallel
const ROOT::Fit::FitResult FitHistorgramParallel(TH1F &hist, TF1 &func)
Definition: AtPSADeconvFit.cxx:99
AtPSADeconv
Abstract base class for getting current through deconvolution.
Definition: AtPSADeconv.h:38
AtPSADeconvFit::Init
virtual void Init() override
Definition: AtPSADeconvFit.cxx:32
AtPSADeconv::HitData
std::vector< ZHitData > HitData
Data structure for Z loc (TB), Z variance (TB), Charge (arb), Charge variance (arb)
Definition: AtPSADeconv.h:109
AtPSADeconvFit::fDiffLong
double fDiffLong
Definition: AtPSADeconvFit.h:15
AtPSA
Definition: AtPSA.h:27
AtPSADeconvFit::fHist
static thread_local std::unique_ptr< TH1F > fHist
Definition: AtPSADeconvFit.h:16
AtPSADeconv.h