ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtFitter.h
Go to the documentation of this file.
1 #ifndef AtFITTER_H
2 #define AtFITTER_H
3 
4 #include "AtTrackTransformer.h"
5 
6 #include <Rtypes.h>
7 #include <TObject.h>
8 
9 #include <memory>
10 #include <tuple>
11 #include <vector>
12 
13 class AtDigiPar;
14 class AtTrack;
15 class FairLogger;
16 class TBuffer;
17 class TClass;
18 class TMemberInspector;
19 
20 namespace genfit {
21 class Track;
22 } // namespace genfit
23 
24 namespace AtFITTER {
25 
26 class AtFitter : public TObject {
27 
28 public:
30  virtual ~AtFitter();
31  // virtual std::vector<AtTrack> GetFittedTrack() = 0;
32  virtual genfit::Track *FitTracks(AtTrack *track) = 0;
33  virtual void Init() = 0;
34 
35  void MergeTracks(std::vector<AtTrack> *trackCandSource, std::vector<AtTrack> *trackJunkSource,
36  std::vector<AtTrack> *trackDest, bool fitDirection, bool simulationConv);
37  Bool_t MergeTracks(std::vector<AtTrack *> *trackCandSource, std::vector<AtTrack> *trackDest,
38  Bool_t enableSingleVertexTrack, Double_t clusterRadius, Double_t clusterDistance);
39 
40 protected:
41  FairLogger *fLogger{};
43  std::unique_ptr<AtTools::AtTrackTransformer> fTrackTransformer{std::make_unique<AtTools::AtTrackTransformer>()};
44  std::tuple<Double_t, Double_t>
45  GetMomFromBrho(Double_t A, Double_t Z,
46  Double_t brho);
47  Bool_t FindVertexTrack(AtTrack *trA, AtTrack *trB);
49 };
50 
51 } // namespace AtFITTER
52 
53 #endif
AtFITTER::AtFitter::GetMomFromBrho
std::tuple< Double_t, Double_t > GetMomFromBrho(Double_t A, Double_t Z, Double_t brho)
Returns momentum (in GeV) from Brho assuming M (amu) and Z;.
Definition: AtFitter.cxx:28
AtFITTER::AtFitter::ClassDef
ClassDef(AtFitter, 1)
genfit
Definition: AtFitter.h:20
AtFITTER::AtFitter::fTrackTransformer
std::unique_ptr< AtTools::AtTrackTransformer > fTrackTransformer
Definition: AtFitter.h:43
AtFITTER::AtFitter
Definition: AtFitter.h:26
AtFITTER
Definition: AtFitter.h:24
AtFITTER::AtFitter::~AtFitter
virtual ~AtFitter()
AtFITTER::AtFitter::AtFitter
AtFitter()
AtFITTER::AtFitter::FindVertexTrack
Bool_t FindVertexTrack(AtTrack *trA, AtTrack *trB)
Lambda function to find track closer to vertex.
Definition: AtFitter.cxx:38
AtFITTER::AtFitter::Init
virtual void Init()=0
AtTrack
Definition: AtTrack.h:25
AtDigiPar
Definition: AtDigiPar.h:14
AtFITTER::AtFitter::fPar
AtDigiPar * fPar
parameter container
Definition: AtFitter.h:42
AtFITTER::AtFitter::FitTracks
virtual genfit::Track * FitTracks(AtTrack *track)=0
AtTrackTransformer.h
AtFITTER::AtFitter::MergeTracks
void MergeTracks(std::vector< AtTrack > *trackCandSource, std::vector< AtTrack > *trackJunkSource, std::vector< AtTrack > *trackDest, bool fitDirection, bool simulationConv)
Definition: AtFitter.cxx:169
AtFITTER::AtFitter::fLogger
FairLogger * fLogger
logger pointer
Definition: AtFitter.h:41