ATLAS Offline Software
TrkVKalVrtCore.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRKVKALVRTCORE_VKALVRTCORE_H
6 #define TRKVKALVRTCORE_VKALVRTCORE_H
7 
11 #include "TrkVKalVrtCore/ForCFT.h"
12 #include <vector>
13 #include <memory>
14 
15 namespace Trk {
16 //
17 // Main class to control TrkVKalVrtCore package
18 // If references to external Propagator/Mag.Field are present - the package uses them,
19 // otherwise default internal fixed_field/simple_propagator are used.
20 //--------------------------------------------------------------------
21 
22  class CascadeEvent;
23  class IVKalState;
24 
26  {
27  public:
29  const addrMagHandler,
30  const basePropagator*,
31  const addrPropagator,
32  IVKalState* istate = nullptr);
34  ~VKalVrtControlBase() = default;
35 
41  };
42 
44  {
45  public:
47  VKalVrtControl(const VKalVrtControl & src); //copy
48  ~VKalVrtControl() = default;
49 
50  public:
51 
52  void setIterationNum(int Iter);
53  void setIterationPrec(double Prec);
54  void setRobustScale(double Scale);
55  void setRobustness(int Rob);
56  void setMassCnstData(int Ntrk, double Mass);
57  void setMassCnstData(int Ntrk, const std::vector<int> &Index, double Mass);
58 
60  void setUsePhiCnst();
61  void setUsePlaneCnst(double a, double b, double c, double d);
62  void setUseThetaCnst();
63  void setUseAprioriVrt();
64  void setUsePointingCnst(int );
65  void setUsePassNear(int);
66 
68  //Only edit the CascadeEvent in the same thread it was created in
69  const CascadeEvent * getCascadeEvent() const{ return m_cascadeEvent;};
71  void renewFullCovariance(double *);
72  //Only edit the covariance in the same thread it was created.
73  const double * getFullCovariance () const { return m_fullCovariance.get(); }
74  double * getFullCovariance () { return m_fullCovariance.get(); }
77  double getVertexMass() const { return m_vrtMassTot;}
78  double getVrtMassError() const {return m_vrtMassError;}
79 
80 
81 
82  private:
83 
84  std::unique_ptr<double[]> m_fullCovariance; // On vertex fit exit contains full covariance matrix
85  // (x,y,z,px_0,py_0,pz_0,....,px_n,py_n,pz_n)
86  // in symmetric form
87  double m_vrtMassTot;
90  public:
93  };
94 
95 } // end of namespace bracket
96 
97 #endif
Propagator.h
CommonPars.h
Trk::VKalVrtControl::setUsePlaneCnst
void setUsePlaneCnst(double a, double b, double c, double d)
Definition: TrkVKalVrtCoreBase.cxx:298
Trk::VKalVrtControl::getFullCovariance
double * getFullCovariance()
Definition: TrkVKalVrtCore.h:74
Trk::VKalVrtControlBase::~VKalVrtControlBase
~VKalVrtControlBase()=default
Trk::VKalVrtControl::getCascadeEvent
const CascadeEvent * getCascadeEvent() const
Definition: TrkVKalVrtCore.h:69
Trk::VKalVrtControl::setUsePassNear
void setUsePassNear(int)
Definition: TrkVKalVrtCoreBase.cxx:306
Trk::VKalVrtControlBase::VKalVrtControlBase
VKalVrtControlBase(const VKalVrtControlBase &src)=default
Trk::VKalVrtControl::getCascadeEvent
CascadeEvent * getCascadeEvent()
Definition: TrkVKalVrtCore.h:70
Base_Fragment.mass
mass
Definition: Sherpa_i/share/common/Base_Fragment.py:59
WriteCellNoiseToCool.src
src
Definition: WriteCellNoiseToCool.py:513
Trk::addrMagHandler
void(* addrMagHandler)(double, double, double, double &, double &, double &)
Definition: VKalVrtBMag.h:22
Trk::VKalVrtControl::m_cascadeEvent
CascadeEvent * m_cascadeEvent
Definition: TrkVKalVrtCore.h:89
hist_file_dump.d
d
Definition: hist_file_dump.py:137
Trk::addrPropagator
void(* addrPropagator)(long int, long int, double *, double *, double *, double *, double *, double *)
Definition: Propagator.h:23
Trk::VKalVrtControl::setIterationPrec
void setIterationPrec(double Prec)
Definition: TrkVKalVrtCoreBase.cxx:255
Trk::VKalVrtControl::setRobustScale
void setRobustScale(double Scale)
Definition: TrkVKalVrtCoreBase.cxx:262
Trk::VKalVrtControl::setVrtMassError
void setVrtMassError(double error)
Definition: TrkVKalVrtCore.h:76
Trk::VKalVrtControl::getVrtMassError
double getVrtMassError() const
Definition: TrkVKalVrtCore.h:78
Trk::VKalVrtControl::setUsePointingCnst
void setUsePointingCnst(int)
Definition: TrkVKalVrtCoreBase.cxx:305
Trk::VKalVrtControl::setUseThetaCnst
void setUseThetaCnst()
Definition: TrkVKalVrtCoreBase.cxx:303
Trk::VKalVrtControl::VKalVrtControl
VKalVrtControl(const VKalVrtControlBase &)
Definition: TrkVKalVrtCoreBase.cxx:28
VKalVrtBMag.h
Trk::VKalVrtControl::~VKalVrtControl
~VKalVrtControl()=default
Trk::ForCFT
Definition: ForCFT.h:13
Trk::VKalVrtControlBase::vk_funcMagFld
const addrMagHandler vk_funcMagFld
Definition: TrkVKalVrtCore.h:37
Trk::VKalVrtControl::setVertexMass
void setVertexMass(double mass)
Definition: TrkVKalVrtCore.h:75
Trk::VKalVrtControlBase::vk_funcProp
const addrPropagator vk_funcProp
Definition: TrkVKalVrtCore.h:39
Index
IndexedConstituentUserInfo::Index Index
Definition: IndexedConstituentUserInfo.cxx:12
Trk::VKalVrtControl::m_vrtMassError
double m_vrtMassError
Definition: TrkVKalVrtCore.h:88
Trk::VKalVrtControl::setUseAprioriVrt
void setUseAprioriVrt()
Definition: TrkVKalVrtCoreBase.cxx:304
Trk::VKalVrtControlBase::vk_objProp
const basePropagator * vk_objProp
Definition: TrkVKalVrtCore.h:38
Trk::basePropagator
Definition: Propagator.h:33
Trk::VKalVrtControl::setRobustness
void setRobustness(int Rob)
Definition: TrkVKalVrtCoreBase.cxx:269
Scale
void Scale(TH1 *h, double d=1)
Definition: comparitor.cxx:76
Trk::VKalVrtControl::renewCascadeEvent
void renewCascadeEvent(CascadeEvent *)
Definition: TrkVKalVrtCoreBase.cxx:307
Trk::VKalVrtControl::renewFullCovariance
void renewFullCovariance(double *)
Definition: TrkVKalVrtCoreBase.cxx:311
Trk::VKalVrtControl::setIterationNum
void setIterationNum(int Iter)
Definition: TrkVKalVrtCoreBase.cxx:248
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VKalVrtControl::m_vrtMassTot
double m_vrtMassTot
Definition: TrkVKalVrtCore.h:87
Trk::VKalVrtControl::setUseMassCnst
void setUseMassCnst()
Trk::VKalVrtControl::getFullCovariance
const double * getFullCovariance() const
Definition: TrkVKalVrtCore.h:73
Trk::VKalVrtControl::m_frozenVersionForBTagging
bool m_frozenVersionForBTagging
Definition: TrkVKalVrtCore.h:92
Trk::VKalVrtControl::setMassCnstData
void setMassCnstData(int Ntrk, double Mass)
Definition: TrkVKalVrtCoreBase.cxx:275
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
Trk::VKalVrtControl::setUsePhiCnst
void setUsePhiCnst()
Definition: TrkVKalVrtCoreBase.cxx:297
Trk::VKalVrtControlBase::vk_istate
IVKalState * vk_istate
Definition: TrkVKalVrtCore.h:40
Trk::CascadeEvent
Definition: TrkVKalVrtCoreBase.h:21
Trk::VKalVrtControlBase::VKalVrtControlBase
VKalVrtControlBase(baseMagFld *, const addrMagHandler, const basePropagator *, const addrPropagator, IVKalState *istate=nullptr)
Definition: TrkVKalVrtCoreBase.cxx:18
Trk::baseMagFld
Definition: VKalVrtBMag.h:29
a
TList * a
Definition: liststreamerinfos.cxx:10
Trk::IVKalState
Definition: IVKalState.h:21
Trk::VKalVrtControl::m_fullCovariance
std::unique_ptr< double[]> m_fullCovariance
Definition: TrkVKalVrtCore.h:84
Trk::VKalVrtControlBase::vk_objMagFld
baseMagFld * vk_objMagFld
Definition: TrkVKalVrtCore.h:36
Trk::VKalVrtControl::getVertexMass
double getVertexMass() const
Definition: TrkVKalVrtCore.h:77
Trk::VKalVrtControl
Definition: TrkVKalVrtCore.h:44
Trk::VKalVrtControlBase
Definition: TrkVKalVrtCore.h:26
get_generator_info.error
error
Definition: get_generator_info.py:40
error
Definition: IImpactPoint3dEstimator.h:70
python.compressB64.c
def c
Definition: compressB64.py:93
Trk::VKalVrtControl::vk_forcft
ForCFT vk_forcft
Definition: TrkVKalVrtCore.h:91
ForCFT.h