ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtFitterTask.h
Go to the documentation of this file.
1 /*********************************************************************
2  * Fitter Task AtFitterTask.hh *
3  * Author: Y. Ayyad ayyadlim@frib.msu.edu *
4  * Log: 3/10/2021 *
5  * *
6  *********************************************************************/
7 
8 #ifndef ATFITTERTASK
9 #define ATFITTERTASK
10 
11 #include <FairTask.h>
12 
13 #include <Rtypes.h>
14 
15 #include <cstddef>
16 #include <string>
17 #include <vector>
18 
19 class AtDigiPar;
20 class FairLogger;
21 class TBuffer;
22 class TClass;
23 class TClonesArray;
24 class TMemberInspector;
25 
26 namespace AtFITTER {
27 class AtFitter;
28 } // namespace AtFITTER
29 namespace genfit {
30 class Track;
31 } // namespace genfit
32 
33 class AtFitterTask : public FairTask {
34 
35 public:
36  AtFitterTask();
38 
39  virtual InitStatus Init();
40  virtual void SetParContainers();
41  virtual void Exec(Option_t *opt);
42 
43  void SetPersistence(Bool_t value = kTRUE);
44  void SetFitterAlgorithm(Int_t value = 0);
45  inline void SetMagneticField(Float_t magfield) { fMagneticField = magfield; }
46  inline void SetMinIterations(Int_t miniter) { fMinIterations = miniter; }
47  inline void SetMaxIterations(Int_t maxiter) { fMaxIterations = maxiter; }
48  inline void SetPDGCode(Int_t pdgcode) { fPDGCode = pdgcode; }
49  inline void SetMass(Float_t mass) { fMass = mass; }
50  inline void SetAtomicNumber(Int_t znum) { fAtomicNumber = znum; }
51  inline void SetNumFitPoints(Float_t numpoints) { fNumFitPoints = numpoints; }
52  inline void SetMaxBrho(Float_t maxbrho) { fMaxBrho = maxbrho; }
53  inline void SetMinBhro(Float_t minbrho) { fMinBrho = minbrho; }
54  inline void SetELossFile(std::string file) { fELossFile = file; }
55 
56 private:
57  Bool_t fIsPersistence;
58  FairLogger *fLogger;
59  AtDigiPar *fPar{nullptr};
60  TClonesArray *fPatternEventArray;
61  AtFITTER::AtFitter *fFitter{};
62  Int_t fFitterAlgorithm{0};
63 
64  TClonesArray *fGenfitTrackArray;
65  std::vector<genfit::Track> *fGenfitTrackVector;
66 
67  std::size_t fEventCnt{0};
68  Float_t fMagneticField{2.0};
69  Int_t fMinIterations{5};
70  Int_t fMaxIterations{20};
71  Int_t fPDGCode{2212};
72  Float_t fMass{1.00727646};
73  Int_t fAtomicNumber{1};
74  Float_t fNumFitPoints{0.90};
75  Float_t fMaxBrho{3.0};
76  Float_t fMinBrho{0.01};
77  std::string fELossFile{""};
78 
79  ClassDef(AtFitterTask, 1);
80 };
81 
82 #endif
AtFitterTask::Exec
virtual void Exec(Option_t *opt)
Definition: AtFitterTask.cxx:112
AtFitterTask::~AtFitterTask
~AtFitterTask()
AtFitterTask::SetELossFile
void SetELossFile(std::string file)
Definition: AtFitterTask.h:54
AtFitterTask::SetMaxIterations
void SetMaxIterations(Int_t maxiter)
Definition: AtFitterTask.h:47
AtFitterTask
Definition: AtFitterTask.h:33
AtFitterTask::SetMass
void SetMass(Float_t mass)
Definition: AtFitterTask.h:49
genfit
Definition: AtFitter.h:20
AtFITTER::AtFitter
Definition: AtFitter.h:26
AtFITTER
Definition: AtFitter.h:24
AtFitterTask::SetPersistence
void SetPersistence(Bool_t value=kTRUE)
Definition: AtFitterTask.cxx:38
AtFitterTask::SetMaxBrho
void SetMaxBrho(Float_t maxbrho)
Definition: AtFitterTask.h:52
AtFitterTask::SetFitterAlgorithm
void SetFitterAlgorithm(Int_t value=0)
AtFitterTask::SetMinIterations
void SetMinIterations(Int_t miniter)
Definition: AtFitterTask.h:46
AtFitterTask::SetAtomicNumber
void SetAtomicNumber(Int_t znum)
Definition: AtFitterTask.h:50
AtFitterTask::SetNumFitPoints
void SetNumFitPoints(Float_t numpoints)
Definition: AtFitterTask.h:51
AtDigiPar
Definition: AtDigiPar.h:14
AtFitterTask::SetMinBhro
void SetMinBhro(Float_t minbrho)
Definition: AtFitterTask.h:53
AtFitterTask::SetParContainers
virtual void SetParContainers()
Definition: AtFitterTask.cxx:95
AtFitterTask::SetPDGCode
void SetPDGCode(Int_t pdgcode)
Definition: AtFitterTask.h:48
AtFitterTask::Init
virtual InitStatus Init()
Definition: AtFitterTask.cxx:43
AtFitterTask::SetMagneticField
void SetMagneticField(Float_t magfield)
Definition: AtFitterTask.h:45
AtFitterTask::AtFitterTask
AtFitterTask()
Definition: AtFitterTask.cxx:30