KalmanPlaneSR Class Reference

#include <KalmanPlaneSR.h>

List of all members.

Public Member Functions

 KalmanPlaneSR ()
 KalmanPlaneSR (TrackClusterSR *)
 KalmanPlaneSR (KalmanPlaneSR *)
virtual ~KalmanPlaneSR ()
void Init (KalmanPlaneSR *)
void InitKalman ()
Int_t GetPredictPlane (Int_t idir) const
void SetPredictPlane (Int_t plane, Int_t idir)
Double_t GetPreStateValue (Int_t stateIndex, Int_t idir) const
void SetPreStateValue (Int_t stateIndex, Int_t idir, Double_t stateValue)
Double_t GetFilStateValue (Int_t stateIndex, Int_t idir) const
void SetFilStateValue (Int_t stateIndex, Int_t idir, Double_t stateValue)
Double_t GetGainValue (Int_t gainIndex, Int_t idir) const
void SetGainValue (Int_t gainIndex, Int_t idir, Double_t gainValue)
Double_t GetPropagatorMatrixValue (Int_t idir, Int_t row, Int_t column) const
void SetPropagatorMatrixValue (Int_t idir, Int_t row, Int_t column, Double_t value)
Double_t GetPreCovarianceMatrixValue (Int_t idir, Int_t row, Int_t column) const
void SetPreCovarianceMatrixValue (Int_t idir, Int_t row, Int_t column, Double_t value)
Double_t GetFilCovarianceMatrixValue (Int_t idir, Int_t row, Int_t column) const
void SetFilCovarianceMatrix (Int_t idir, Double_t setMatrix[][5])
void SetFilCovarianceMatrixValue (Int_t idir, Int_t row, Int_t column, Double_t value)
Double_t GetNoiseMatrixValue (Int_t idir, Int_t row, Int_t column) const
void SetNoiseMatrixValue (Int_t idir, Int_t row, Int_t column, Double_t value)
Double_t GetPreChi2 (Int_t idir) const
void SetPreChi2 (Double_t chi2, Int_t idir)
Double_t GetFilChi2 (Int_t idir) const
void SetFilChi2 (Double_t chi2, Int_t idir)
Int_t GetZDir () const
void SetZDir (Int_t idir)
Double_t GetRange () const
void SetRange (Double_t range)
TrackClusterSRGetTrackCluster () const
void SetTrackCluster (TrackClusterSR *cluster)
const VldContextGetVldContext ()
virtual Bool_t IsEquivalent (const TObject *rhs) const

Private Attributes

TVectorD fPreState [2]
TVectorD fFilState [2]
TVectorD fGain [2]
TMatrixD fPropagator [2]
TMatrixD fPreCovariance [2]
TMatrixD fFilCovariance [2]
TMatrixD fNoise [2]
Double_t fPreChi2 [2]
Double_t fFilChi2 [2]
Int_t fPredictPlane [2]
Int_t fZDir
Double_t fRange
TrackClusterSRfTrackCluster

Detailed Description

Definition at line 25 of file KalmanPlaneSR.h.


Constructor & Destructor Documentation

KalmanPlaneSR::KalmanPlaneSR (  ) 

Definition at line 35 of file KalmanPlaneSR.cxx.

00035                              : 
00036   fTrackCluster(0)
00037 {
00038   // default ctor
00039   InitKalman();
00040 
00041 }

KalmanPlaneSR::KalmanPlaneSR ( TrackClusterSR tcluster  ) 

Definition at line 44 of file KalmanPlaneSR.cxx.

References fTrackCluster, and InitKalman().

00045 {
00046   fTrackCluster = tcluster;
00047   InitKalman();
00048 }

KalmanPlaneSR::KalmanPlaneSR ( KalmanPlaneSR kp  ) 

Definition at line 51 of file KalmanPlaneSR.cxx.

References fTrackCluster, GetTrackCluster(), and Init().

00052 {
00053   fTrackCluster = kp->GetTrackCluster();
00054   Init(kp);
00055 }

KalmanPlaneSR::~KalmanPlaneSR (  )  [virtual]

Definition at line 59 of file KalmanPlaneSR.cxx.

00060 {
00061 }


Member Function Documentation

Double_t KalmanPlaneSR::GetFilChi2 ( Int_t  idir  )  const
Double_t KalmanPlaneSR::GetFilCovarianceMatrixValue ( Int_t  idir,
Int_t  row,
Int_t  column 
) const
Double_t KalmanPlaneSR::GetFilStateValue ( Int_t  stateIndex,
Int_t  idir 
) const
Double_t KalmanPlaneSR::GetGainValue ( Int_t  gainIndex,
Int_t  idir 
) const

Definition at line 160 of file KalmanPlaneSR.cxx.

References fGain.

Referenced by AlgFitTrackSR::CalculateFilCovariance(), and AlgFitTrackSR::CalculateFilState().

00161 {
00162   return fGain[idir](gainIndex);
00163 }

Double_t KalmanPlaneSR::GetNoiseMatrixValue ( Int_t  idir,
Int_t  row,
Int_t  column 
) const

Definition at line 232 of file KalmanPlaneSR.cxx.

References fNoise.

Referenced by AlgFitTrackSR::CalculatePreCovariance().

00234 {
00235   return fNoise[idir](row, column);
00236 }

Double_t KalmanPlaneSR::GetPreChi2 ( Int_t  idir  )  const
Double_t KalmanPlaneSR::GetPreCovarianceMatrixValue ( Int_t  idir,
Int_t  row,
Int_t  column 
) const
Int_t KalmanPlaneSR::GetPredictPlane ( Int_t  idir  )  const

Definition at line 119 of file KalmanPlaneSR.cxx.

References fPredictPlane.

Referenced by AlgFitTrackSR::Predict().

00120 {
00121   return fPredictPlane[idir];
00122 }

Double_t KalmanPlaneSR::GetPreStateValue ( Int_t  stateIndex,
Int_t  idir 
) const

Definition at line 132 of file KalmanPlaneSR.cxx.

References fPreState.

Referenced by AlgFitTrackSR::CalculateFilState(), AlgFitTrackSR::CalculatePreChi2(), AlgFitTrackSR::CalculatePreState(), and AlgFitTrackSR::Predict().

00133 {
00134   return fPreState[idir](stateIndex);
00135 }

Double_t KalmanPlaneSR::GetPropagatorMatrixValue ( Int_t  idir,
Int_t  row,
Int_t  column 
) const

Definition at line 174 of file KalmanPlaneSR.cxx.

References fPropagator.

Referenced by AlgFitTrackSR::CalculatePreCovariance().

00176 {
00177   return fPropagator[idir](row, column);
00178 }

Double_t KalmanPlaneSR::GetRange (  )  const
TrackClusterSR * KalmanPlaneSR::GetTrackCluster (  )  const
const VldContext * KalmanPlaneSR::GetVldContext (  ) 

Definition at line 110 of file KalmanPlaneSR.cxx.

References fTrackCluster, TrackClusterSR::GetStripList(), Msg::kWarning, and MSG.

Referenced by AlgFitTrackSR::CalculateNoise(), AlgFitTrackSR::CalculatePreState(), and AlgFitTrackSR::CalculatePropagator().

00111 {
00112   if(!dynamic_cast<CandStripHandle*>
00113      (fTrackCluster->GetStripList()->First())->GetVldContext()) 
00114     MSG("FitTrackSR", Msg::kWarning) << "No VldContext for KalmanPlaneSR" << endl;
00115   return dynamic_cast<CandStripHandle*>(fTrackCluster->GetStripList()->First())->GetVldContext();
00116 }

Int_t KalmanPlaneSR::GetZDir (  )  const
void KalmanPlaneSR::Init ( KalmanPlaneSR kp  ) 

Definition at line 88 of file KalmanPlaneSR.cxx.

References fFilChi2, fFilCovariance, fFilState, fGain, fNoise, fPreChi2, fPreCovariance, fPredictPlane, fPreState, fPropagator, fRange, fZDir, GetRange(), GetZDir(), and InitKalman().

Referenced by KalmanPlaneSR().

00089 {
00090   InitKalman();
00091  
00092   for(int i=0; i<2; ++i){
00093     fPreState[i] = kp->fPreState[i];
00094     fFilState[i] = kp->fFilState[i];
00095     fGain[i] = kp->fGain[i];
00096     fPropagator[i] = kp->fPropagator[i];
00097     fPreCovariance[i] = kp->fPreCovariance[i];
00098     fFilCovariance[i] = kp->fFilCovariance[i];
00099     fNoise[i] = kp->fNoise[i];
00100     fPreChi2[i] = kp->fPreChi2[i];
00101     fFilChi2[i] = kp->fFilChi2[i];
00102     fPredictPlane[i] = kp->fPredictPlane[i];
00103   }
00104   fZDir = kp->GetZDir();
00105   fRange = kp->GetRange();
00106 
00107 }

void KalmanPlaneSR::InitKalman (  ) 

Definition at line 64 of file KalmanPlaneSR.cxx.

References fFilChi2, fFilCovariance, fFilState, fGain, fNoise, fPreChi2, fPreCovariance, fPredictPlane, fPreState, fPropagator, fRange, and fZDir.

Referenced by Init(), and KalmanPlaneSR().

00065 {
00066   for(Int_t i=0; i<2; ++i){
00067     fPreState[i].ResizeTo(5);
00068     fFilState[i].ResizeTo(5);
00069     fGain[i].ResizeTo(5);
00070     fPropagator[i].ResizeTo(5,5);
00071     fPreCovariance[i].ResizeTo(5,5);
00072     fFilCovariance[i].ResizeTo(5,5);
00073     fNoise[i].ResizeTo(5,5);
00074     for(Int_t j=0; j<5; ++j){
00075       fPropagator[i](j,j) = 1.;
00076       fPreCovariance[i](j,j) = 1.;
00077       fFilCovariance[i](j,j) = 1.;
00078     }
00079     fPredictPlane[i] = -999;
00080     fPreChi2[i] = 0.;
00081     fFilChi2[i] = 0.;
00082   }
00083   fZDir = 1;
00084   fRange = 0.;
00085 }

Bool_t KalmanPlaneSR::IsEquivalent ( const TObject *  rhs  )  const [virtual]

Definition at line 330 of file KalmanPlaneSR.cxx.

References fFilChi2, fFilCovariance, fFilState, fGain, fNoise, fPreChi2, fPreCovariance, fPredictPlane, fPreState, fPropagator, fRange, fZDir, KP_TEST_ARRAY_EQUALITY, and KP_TEST_EQUALITY.

00331 {
00332   const KalmanPlaneSR *rhs = dynamic_cast<const KalmanPlaneSR*>(rkp);
00333 
00334   KP_TEST_ARRAY_EQUALITY(rhs, fPreState,      2);
00335   KP_TEST_ARRAY_EQUALITY(rhs, fFilState,      2);
00336   KP_TEST_ARRAY_EQUALITY(rhs, fGain,          2);
00337   KP_TEST_ARRAY_EQUALITY(rhs, fPropagator,    2);
00338   KP_TEST_ARRAY_EQUALITY(rhs, fPreCovariance, 2);
00339   KP_TEST_ARRAY_EQUALITY(rhs, fFilCovariance, 2);
00340   KP_TEST_ARRAY_EQUALITY(rhs, fNoise,         2);
00341   KP_TEST_ARRAY_EQUALITY(rhs, fPreChi2,       2);
00342   KP_TEST_ARRAY_EQUALITY(rhs, fFilChi2,       2);
00343   KP_TEST_ARRAY_EQUALITY(rhs, fPredictPlane,  2);
00344   KP_TEST_EQUALITY(      rhs, fZDir            );
00345   KP_TEST_EQUALITY(      rhs, fRange           );
00346 
00347   return true;
00348 }

void KalmanPlaneSR::SetFilChi2 ( Double_t  chi2,
Int_t  idir 
)

Definition at line 266 of file KalmanPlaneSR.cxx.

References fFilChi2.

Referenced by AlgFitTrackSR::CalculateFilChi2().

00267 {
00268   fFilChi2[idir] = chi2;
00269   return;
00270 }

void KalmanPlaneSR::SetFilCovarianceMatrix ( Int_t  idir,
Double_t  setMatrix[][5] 
)

Definition at line 211 of file KalmanPlaneSR.cxx.

References fFilCovariance.

Referenced by AlgFitTrackSR::InitializeFit().

00212 {
00213   
00214   for(Int_t i = 0; i<5; ++i){
00215     for(Int_t j = 0; j<5; ++j){
00216       fFilCovariance[idir](i,j) = setMatrix[i][j];
00217     }
00218   }
00219 
00220   return;
00221 }

void KalmanPlaneSR::SetFilCovarianceMatrixValue ( Int_t  idir,
Int_t  row,
Int_t  column,
Double_t  value 
)

Definition at line 224 of file KalmanPlaneSR.cxx.

References fFilCovariance.

Referenced by AlgFitTrackSR::CalculateFilCovariance(), and AlgFitTrackSR::InitializeFit().

00226 {
00227   fFilCovariance[idir](row,column) = value;
00228   return;
00229 }

void KalmanPlaneSR::SetFilStateValue ( Int_t  stateIndex,
Int_t  idir,
Double_t  stateValue 
)

Definition at line 152 of file KalmanPlaneSR.cxx.

References fFilState.

Referenced by AlgFitTrackSR::CalculateFilState(), AlgFitTrackSR::Filter(), and AlgFitTrackSR::InitializeFit().

00154 {
00155   fFilState[idir](stateIndex) = stateValue;
00156   return;
00157 }

void KalmanPlaneSR::SetGainValue ( Int_t  gainIndex,
Int_t  idir,
Double_t  gainValue 
)

Definition at line 166 of file KalmanPlaneSR.cxx.

References fGain.

Referenced by AlgFitTrackSR::CalculateGain().

00168 {
00169   fGain[idir](gainIndex) = gainValue;
00170   return;
00171 }

void KalmanPlaneSR::SetNoiseMatrixValue ( Int_t  idir,
Int_t  row,
Int_t  column,
Double_t  value 
)

Definition at line 239 of file KalmanPlaneSR.cxx.

References fNoise.

Referenced by AlgFitTrackSR::CalculateNoise().

00241 {
00242   fNoise[idir](row,column) = value;
00243   return;
00244 }

void KalmanPlaneSR::SetPreChi2 ( Double_t  chi2,
Int_t  idir 
)

Definition at line 253 of file KalmanPlaneSR.cxx.

References fPreChi2.

Referenced by AlgFitTrackSR::CalculatePreChi2().

00254 {
00255   fPreChi2[idir] = chi2;
00256   return;
00257 }

void KalmanPlaneSR::SetPreCovarianceMatrixValue ( Int_t  idir,
Int_t  row,
Int_t  column,
Double_t  value 
)

Definition at line 196 of file KalmanPlaneSR.cxx.

References fPreCovariance.

Referenced by AlgFitTrackSR::CalculatePreCovariance().

00198 {
00199   fPreCovariance[idir](row,column) = value;
00200   return;
00201 }

void KalmanPlaneSR::SetPredictPlane ( Int_t  plane,
Int_t  idir 
)

Definition at line 125 of file KalmanPlaneSR.cxx.

References fPredictPlane.

Referenced by AlgFitTrackSR::Filter(), AlgFitTrackSR::InitializeFit(), and AlgFitTrackSR::Predict().

00126 {
00127   fPredictPlane[idir] = plane;
00128   return;
00129 }

void KalmanPlaneSR::SetPreStateValue ( Int_t  stateIndex,
Int_t  idir,
Double_t  stateValue 
)

Definition at line 138 of file KalmanPlaneSR.cxx.

References fPreState.

Referenced by AlgFitTrackSR::CalculatePreState(), and AlgFitTrackSR::Predict().

00140 {
00141   fPreState[idir](stateIndex) = stateValue;
00142   return;
00143 }

void KalmanPlaneSR::SetPropagatorMatrixValue ( Int_t  idir,
Int_t  row,
Int_t  column,
Double_t  value 
)

Definition at line 181 of file KalmanPlaneSR.cxx.

References fPropagator.

Referenced by AlgFitTrackSR::CalculatePropagator().

00183 {
00184   fPropagator[idir](row,column) = value;
00185   return;
00186 }

void KalmanPlaneSR::SetRange ( Double_t  range  ) 

Definition at line 292 of file KalmanPlaneSR.cxx.

References fRange.

Referenced by AlgFitTrackSR::AddToFit(), AlgFitTrackSR::FindDownstreamPlanes(), AlgFitTrackSR::FindUpstreamPlanes(), and AlgFitTrackSR::ReverseFit().

00293 {
00294   fRange = range;
00295   return;
00296 }

void KalmanPlaneSR::SetTrackCluster ( TrackClusterSR cluster  ) 

Definition at line 305 of file KalmanPlaneSR.cxx.

References fTrackCluster.

00306 {
00307   fTrackCluster = cluster;
00308   return;
00309 }

void KalmanPlaneSR::SetZDir ( Int_t  idir  ) 

Definition at line 279 of file KalmanPlaneSR.cxx.

References fZDir.

Referenced by AlgFitTrackSR::AddToFit(), AlgFitTrackSR::FindDownstreamPlanes(), AlgFitTrackSR::FindUpstreamPlanes(), and AlgFitTrackSR::ReverseFit().

00280 {
00281   fZDir = idir;
00282   return;
00283 }


Member Data Documentation

Double_t KalmanPlaneSR::fFilChi2[2] [private]

Definition at line 93 of file KalmanPlaneSR.h.

Referenced by GetFilChi2(), Init(), InitKalman(), IsEquivalent(), and SetFilChi2().

TMatrixD KalmanPlaneSR::fFilCovariance[2] [private]
TVectorD KalmanPlaneSR::fFilState[2] [private]

Definition at line 84 of file KalmanPlaneSR.h.

Referenced by GetFilStateValue(), Init(), InitKalman(), IsEquivalent(), and SetFilStateValue().

TVectorD KalmanPlaneSR::fGain[2] [private]

Definition at line 85 of file KalmanPlaneSR.h.

Referenced by GetGainValue(), Init(), InitKalman(), IsEquivalent(), and SetGainValue().

TMatrixD KalmanPlaneSR::fNoise[2] [private]
Double_t KalmanPlaneSR::fPreChi2[2] [private]

Definition at line 92 of file KalmanPlaneSR.h.

Referenced by GetPreChi2(), Init(), InitKalman(), IsEquivalent(), and SetPreChi2().

TMatrixD KalmanPlaneSR::fPreCovariance[2] [private]
Int_t KalmanPlaneSR::fPredictPlane[2] [private]

Definition at line 95 of file KalmanPlaneSR.h.

Referenced by GetPredictPlane(), Init(), InitKalman(), IsEquivalent(), and SetPredictPlane().

TVectorD KalmanPlaneSR::fPreState[2] [private]

Definition at line 83 of file KalmanPlaneSR.h.

Referenced by GetPreStateValue(), Init(), InitKalman(), IsEquivalent(), and SetPreStateValue().

TMatrixD KalmanPlaneSR::fPropagator[2] [private]
Double_t KalmanPlaneSR::fRange [private]

Definition at line 99 of file KalmanPlaneSR.h.

Referenced by GetRange(), Init(), InitKalman(), IsEquivalent(), and SetRange().

Definition at line 101 of file KalmanPlaneSR.h.

Referenced by GetTrackCluster(), GetVldContext(), KalmanPlaneSR(), and SetTrackCluster().

Int_t KalmanPlaneSR::fZDir [private]

Definition at line 97 of file KalmanPlaneSR.h.

Referenced by GetZDir(), Init(), InitKalman(), IsEquivalent(), and SetZDir().


The documentation for this class was generated from the following files:

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1