PandaRoot
PndRecoKalmanFit.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //-----------------------------------------------------------
14 // File and Version Information:
15 // $Id$
16 //
17 // Description:
18 // Kalman Filter for single tracks
19 //
20 // Environment:
21 // Software developed for the PANDA Detector at FAIR.
22 //
23 // Author List:
24 // Stefano Spataro, UNI Torino //
25 //-----------------------------------------------------------
26 
27 #ifndef PNDRECOKALMANFIT_HH
28 #define PNDRECOKALMANFIT_HH
29 
30 // Base Class Headers ----------------
31 #include "TNamed.h"
32 #include "TString.h"
33 
34 // Collaborating Class Headers ------
35 #include "FairGeanePro.h"
36 #include "PndTrack.h"
37 #include "GFKalman.h"
38 
39 // Collaborating Class Declarations --
40 class GFRecoHitFactory;
41 class GFKalman;
42 
43 class PndRecoKalmanFit : public TNamed {
44  public:
45  // Constructors/Destructors ---------
48 
49  // Modifiers -----------------------
50  void SetGeane(Bool_t opt = kTRUE) { fUseGeane = opt; }
51  void SetPropagateToIP(Bool_t opt = kTRUE) { fPropagateToIP = opt; }
52  void SetPropagateDistance(Float_t opt = -1.f) { fPropagateDistance = opt; }
53  void SetPerpPlane(Bool_t opt = kTRUE) { fPerpPlane = opt; }
54  void SetNumIterations(Int_t num) { fNumIt = num; }
55  void SetTrackRep(Int_t num) { fTrackRep = num; }
56  void SetVerbose(Int_t verb) { fVerbose = verb; }
57  void SetMvdBranchName(const TString &name) { fMvdBranchName = name; }
58  void SetCentralTrackerBranchName(const TString &name) { fCentralTrackerBranchName = name; }
59  // Operations ----------------------
60  Bool_t Init();
61  PndTrack *Fit(PndTrack *tBefore, Int_t PDG);
62 
63  GFRecoHitFactory *GetRecoHitFactory() { return fTheRecoHitFactory; };
64 
65  private:
66  // Private Data Members ------------
67  GFRecoHitFactory *fTheRecoHitFactory;
68  GFKalman fGenFitter;
69 
70  FairGeanePro *fPro;
71 
72  TString fMvdBranchName;
73  TString fCentralTrackerBranchName;
74 
75  Bool_t fUseGeane;
76  Bool_t fPropagateToIP;
77  Float_t fPropagateDistance;
78  Bool_t fPerpPlane;
79  Int_t fNumIt;
80  Short_t fTrackRep;
81  Int_t fVerbose;
82 
83  ClassDef(PndRecoKalmanFit, 0);
84 };
85 
86 #endif
void SetPropagateToIP(Bool_t opt=kTRUE)
void SetTrackRep(Int_t num)
Generic Kalman Filter implementation.
Definition: GFKalman.h:61
void SetPropagateDistance(Float_t opt=-1.f)
void SetMvdBranchName(const TString &name)
PndTrack * Fit(PndTrack *tBefore, Int_t PDG)
Factory object to create RecoHits from digitized and clustered data.
void SetPerpPlane(Bool_t opt=kTRUE)
void SetGeane(Bool_t opt=kTRUE)
void SetVerbose(Int_t verb)
void SetCentralTrackerBranchName(const TString &name)
GFRecoHitFactory * GetRecoHitFactory()
float f
Definition: P4_F32vec4.h:32
void SetNumIterations(Int_t num)