PandaRoot
PndRecoKalmanFit2.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 // modified by Elisabetta Prencipe 19/05/2014
26 //-----------------------------------------------------------
27 
28 #ifndef PNDRECOKALMANFIT2_HH
29 #define PNDRECOKALMANFIT2_HH
30 
31 // Base Class Headers ----------------
32 #include "TNamed.h"
33 #include "TString.h"
34 
35 // Collaborating Class Headers ------
36 #include "FairGeanePro.h"
37 #include "PndTrack.h"
38 #include "KalmanFitter.h"
39 #include "AbsMeasurement.h"
40 #include "MeasurementFactory.h"
41 // Collaborating Class Declarations --
42 
43 class PndRecoKalmanFit2 : 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 SetVerbose(Int_t verb) { fVerbose = verb; }
56  void SetMvdBranchName(const TString &name) { fMvdBranchName = name; }
57  void SetCentralTrackerBranchName(const TString &name) { fCentralTrackerBranchName = name; }
58  // Operations ----------------------
59  Bool_t Init();
60  PndTrack *Fit(PndTrack *tBefore, Int_t PDG);
61 
63 
64  private:
65  // Private Data Members ------------
66 
68  genfit::KalmanFitter 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  Int_t fVerbose;
81 
82  ClassDef(PndRecoKalmanFit2, 0);
83 };
84 
85 #endif
void SetGeane(Bool_t opt=kTRUE)
void SetNumIterations(Int_t num)
Simple Kalman filter implementation.
Definition: KalmanFitter.h:53
void SetPropagateToIP(Bool_t opt=kTRUE)
void SetMvdBranchName(const TString &name)
genfit::MeasurementFactory< genfit::AbsMeasurement > * GetRecoHitFactory()
void SetVerbose(Int_t verb)
void SetCentralTrackerBranchName(const TString &name)
PndTrack * Fit(PndTrack *tBefore, Int_t PDG)
float f
Definition: P4_F32vec4.h:32
void SetPropagateDistance(Float_t opt=-1.f)
void SetPerpPlane(Bool_t opt=kTRUE)