LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
genf::SlTrackRep Class Referenceabstract

#include "SlTrackRep.h"

Inheritance diagram for genf::SlTrackRep:
genf::GFAbsTrackRep

Public Member Functions

 SlTrackRep ()
 
 SlTrackRep (const TMatrixT< double > &, const TMatrixT< double > &)
 
 SlTrackRep (const TMatrixT< double > &, const TMatrixT< double > &, const double)
 
 SlTrackRep (const GFDetPlane &, const TMatrixT< double > &, const TMatrixT< double > &)
 
 SlTrackRep (const TVector3 &pos, const TVector3 &dir)
 
virtual ~SlTrackRep ()
 
virtual GFAbsTrackRepclone () const
 
virtual GFAbsTrackRepprototype () const
 
void setReferencePlane (const GFDetPlane &pl)
 
virtual double extrapolate (const GFDetPlane &, TMatrixT< double > &statePred, TMatrixT< double > &covPred)
 
virtual double extrapolate (const GFDetPlane &, TMatrixT< double > &statePred)
 
void extrapolateToPoint (const TVector3 &pos, TVector3 &poca, TVector3 &dirInPoca)
 This method is to extrapolate the track to point of closest approach to a point in space. More...
 
void extrapolateToLine (const TVector3 &point1, const TVector3 &point2, TVector3 &poca, TVector3 &dirInPoca, TVector3 &poca_onwire)
 This method extrapolates to the point of closest approach to a line. More...
 
virtual TVector3 getPos (const GFDetPlane &)
 
virtual TVector3 getMom (const GFDetPlane &)
 
virtual void getPosMom (const GFDetPlane &, TVector3 &pos, TVector3 &mom)
 
virtual double getCharge () const
 
void switchDirection ()
 
virtual double extrapolate (const GFDetPlane &plane, TMatrixT< Double_t > &statePred)
 returns the tracklength spanned in this extrapolation More...
 
virtual double extrapolate (const GFDetPlane &plane, TMatrixT< Double_t > &statePred, TMatrixT< Double_t > &covPred)=0
 Extrapolates the track to the given detectorplane. More...
 
double extrapolate (const GFDetPlane &plane)
 This changes the state and cov and plane of the rep. More...
 
virtual void stepalong (double h)
 make step of h cm along the track More...
 
unsigned int getDim () const
 returns dimension of state vector More...
 
virtual void Print (std::ostream &out=std::cout) const
 
const TMatrixT< Double_t > & getState () const
 
const TMatrixT< Double_t > & getCov () const
 
double getStateElem (int i) const
 
double getCovElem (int i, int j) const
 
TVector3 getPos ()
 
TVector3 getMom ()
 
virtual void getPosMomCov (const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< Double_t > &cov)
 method which gets position, momentum and 6x6 covariance matrix More...
 
void getPosMomCov (TVector3 &pos, TVector3 &mom, TMatrixT< Double_t > &c)
 
TMatrixT< Double_t > getFirstState () const
 
TMatrixT< Double_t > getFirstCov () const
 
GFDetPlane getFirstPlane () const
 
TMatrixT< Double_t > getLastState () const
 
TMatrixT< Double_t > getLastCov () const
 
GFDetPlane getLastPlane () const
 
double getChiSqu () const
 
double getRedChiSqu () const
 returns chi2/ndf More...
 
unsigned int getNDF () const
 
virtual void setData (const TMatrixT< Double_t > &st, const GFDetPlane &pl, const TMatrixT< Double_t > *cov=NULL)
 
void setCov (const TMatrixT< Double_t > &aCov)
 
void setFirstState (const TMatrixT< Double_t > &aState)
 
void setFirstCov (const TMatrixT< Double_t > &aCov)
 
void setFirstPlane (const GFDetPlane &aPlane)
 
void setLastState (const TMatrixT< Double_t > &aState)
 
void setLastCov (const TMatrixT< Double_t > &aCov)
 
void setLastPlane (const GFDetPlane &aPlane)
 
const GFDetPlanegetReferencePlane () const
 
void setChiSqu (double aChiSqu)
 
void setNDF (unsigned int n)
 
void addChiSqu (double aChiSqu)
 
void addNDF (unsigned int n)
 
void setStatusFlag (int _val)
 
bool setInverted (bool f=true)
 Deprecated. Should be removed soon. More...
 
bool getStatusFlag ()
 
virtual void reset ()
 

Protected Attributes

unsigned int fDimension
 Dimensionality of track representation. More...
 
TMatrixT< Double_t > fState
 The vector of track parameters. More...
 
TMatrixT< Double_t > fCov
 The covariance matrix. More...
 
double fChiSqu
 chiSqu of the track fit More...
 
unsigned int fNdf
 
int fStatusFlag
 status of track representation: 0 means everything's OK More...
 
bool fInverted
 specifies the direction of flight of the particle More...
 
TMatrixT< Double_t > fFirstState
 state, cov and plane for first and last point in fit More...
 
TMatrixT< Double_t > fFirstCov
 
TMatrixT< Double_t > fLastState
 
TMatrixT< Double_t > fLastCov
 
GFDetPlane fFirstPlane
 
GFDetPlane fLastPlane
 
GFDetPlane fRefPlane
 

Private Attributes

int _backw
 

Detailed Description

Definition at line 7 of file SlTrackRep.h.

Constructor & Destructor Documentation

genf::SlTrackRep::SlTrackRep ( )

Definition at line 5 of file SlTrackRep.cxx.

Referenced by clone(), and prototype().

6  :GFAbsTrackRep(4),_backw(0)
7 {
8 
9 }
genf::SlTrackRep::SlTrackRep ( const TMatrixT< double > &  _state,
const TMatrixT< double > &  sigma 
)

Definition at line 11 of file SlTrackRep.cxx.

References genf::GFAbsTrackRep::fCov, genf::GFAbsTrackRep::fState, and setReferencePlane().

13  :GFAbsTrackRep(4),_backw(0)
14 {
15  fState=_state;
16  for(int i=0;i<sigma.GetNrows();++i){
17  fCov[i][i]=sigma[i][0];
18  }
19  setReferencePlane(GFDetPlane(TVector3(0,0,0),TVector3(1,0,0),TVector3(0,1,0)));
20 }
TMatrixT< Double_t > fCov
The covariance matrix.
Definition: GFAbsTrackRep.h:96
void setReferencePlane(const GFDetPlane &pl)
Definition: SlTrackRep.h:24
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
genf::SlTrackRep::SlTrackRep ( const TMatrixT< double > &  _state,
const TMatrixT< double > &  sigma,
const double  z 
)

Definition at line 48 of file SlTrackRep.cxx.

References genf::GFAbsTrackRep::fCov, genf::GFAbsTrackRep::fState, and setReferencePlane().

51  :GFAbsTrackRep(4),_backw(0)
52 {
53 
54  fState=_state;
55  for(int i=0;i<sigma.GetNrows();++i){
56  fCov[i][i]=sigma[i][0];
57  }
58  setReferencePlane(GFDetPlane(TVector3(0,0,z),TVector3(1,0,0),TVector3(0,1,0)));
59 }
Double_t z
Definition: plot.C:279
TMatrixT< Double_t > fCov
The covariance matrix.
Definition: GFAbsTrackRep.h:96
void setReferencePlane(const GFDetPlane &pl)
Definition: SlTrackRep.h:24
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
genf::SlTrackRep::SlTrackRep ( const GFDetPlane dp,
const TMatrixT< double > &  _state,
const TMatrixT< double > &  sigma 
)

Definition at line 36 of file SlTrackRep.cxx.

References genf::GFAbsTrackRep::fCov, genf::GFAbsTrackRep::fState, and setReferencePlane().

39  :GFAbsTrackRep(4),_backw(0)
40 {
41  fState=_state;
42  for(int i=0;i<sigma.GetNrows();++i){
43  fCov[i][i]=sigma[i][0];
44  }
46 }
TMatrixT< Double_t > fCov
The covariance matrix.
Definition: GFAbsTrackRep.h:96
void setReferencePlane(const GFDetPlane &pl)
Definition: SlTrackRep.h:24
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
genf::SlTrackRep::SlTrackRep ( const TVector3 &  pos,
const TVector3 &  dir 
)

Definition at line 22 of file SlTrackRep.cxx.

References d, genf::GFAbsTrackRep::fCov, genf::GFAbsTrackRep::fState, and setReferencePlane().

22  :GFAbsTrackRep(4),_backw(0)
23 {
24  GFDetPlane d(pos,dir);
26  fState[0][0]=0.;
27  fState[1][0]=0.;
28  fState[2][0]=0.;
29  fState[3][0]=0.;
30  fCov[0][0]=1.;
31  fCov[1][1]=1.;
32  fCov[2][2]=1.;
33  fCov[3][3]=1.;
34 }
TMatrixT< Double_t > fCov
The covariance matrix.
Definition: GFAbsTrackRep.h:96
Float_t d
Definition: plot.C:237
void setReferencePlane(const GFDetPlane &pl)
Definition: SlTrackRep.h:24
TDirectory * dir
Definition: macro.C:5
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
genf::SlTrackRep::~SlTrackRep ( )
virtual

Definition at line 62 of file SlTrackRep.cxx.

63 {
64 
65 }

Member Function Documentation

void genf::GFAbsTrackRep::addChiSqu ( double  aChiSqu)
inlineinherited

Definition at line 293 of file GFAbsTrackRep.h.

Referenced by genf::GFKalman::processHit().

293  {
294  fChiSqu += aChiSqu;
295  }
double fChiSqu
chiSqu of the track fit
Definition: GFAbsTrackRep.h:99
void genf::GFAbsTrackRep::addNDF ( unsigned int  n)
inlineinherited

Definition at line 296 of file GFAbsTrackRep.h.

References n.

Referenced by genf::GFKalman::processHit().

296  {
297  fNdf += n;
298  }
Char_t n[5]
virtual GFAbsTrackRep* genf::SlTrackRep::clone ( ) const
inlinevirtual

Implements genf::GFAbsTrackRep.

Definition at line 21 of file SlTrackRep.h.

References SlTrackRep().

21 {return new SlTrackRep(*this);}
double genf::SlTrackRep::extrapolate ( const GFDetPlane pl,
TMatrixT< double > &  statePred,
TMatrixT< double > &  covPred 
)
virtual

Definition at line 105 of file SlTrackRep.cxx.

References dir, genf::GFAbsTrackRep::fCov, genf::GFAbsTrackRep::fDimension, genf::GFAbsTrackRep::fRefPlane, genf::GFAbsTrackRep::fState, genf::GFDetPlane::getO(), genf::GFDetPlane::getU(), genf::GFDetPlane::getV(), and w.

Referenced by getMom(), getPos(), and setReferencePlane().

108 {
109  //std::cout<<std::endl<<std::endl<<"extrapolate to plane with state and cov"<<std::endl<<std::endl;
110  statePred.ResizeTo(fDimension,1);
111  covPred.ResizeTo(fDimension,fDimension);
112  TVector3 o=pl.getO();
113  TVector3 u=pl.getU();
114  TVector3 v=pl.getV();
115  TVector3 w=u.Cross(v);
116  TVector3 ofrom=fRefPlane.getO();
117  TVector3 ufrom=fRefPlane.getU();
118  TVector3 vfrom=fRefPlane.getV();
119  TVector3 wfrom=ufrom.Cross(vfrom);
120  /*
121  std::cout<<"ufrom ";
122  ufrom.Print();
123  std::cout<<"vfrom ";
124  vfrom.Print();
125  std::cout<<"wfrom ";
126  wfrom.Print();
127  */
128  TVector3 p1=ofrom+fState[0][0]*ufrom+fState[1][0]*vfrom;
129  /*
130  std::cout<<"p1 ";
131  p1.Print();
132  */
133  TVector3 dir=(fState[2][0] * ufrom + fState[3][0] * vfrom + wfrom);//in global coordinates
134  /*
135  std::cout<<"dir ";
136  dir.Print();
137  */
138  if(w*dir==0){
139  std::cerr<<"track paralell to detector plane"<<std::endl
140  <<"extrapolation impossible, aborting"<<std::endl;
141  throw;
142  }
143 
144  double t= ((( w * o) - (w * p1)) /
145  (w * dir));
146 
147  double dist=t*dir.Mag();
148 
149  TVector3 p2=p1+t*dir;
150  /*
151  std::cout<<"xtrapolate point p2 ";
152  p2.Print();
153  */
154  double state0=(p2-o)*u;
155  double state1=(p2-o)*v;
156  double state2=(dir*u)/(dir*w);
157  double state3=(dir*v)/(dir*w);
158  /*
159  std::cout<<"start state:"<<std::endl;
160  std::cout<<fState[0][0]<<std::endl
161  <<fState[1][0]<<std::endl
162  <<fState[2][0]<<std::endl
163  <<fState[3][0]<<std::endl;
164  std::cout<<"end state:"<<std::endl;
165  std::cout<<fState0<<std::endl
166  <<fState1<<std::endl
167  <<fState2<<std::endl
168  <<fState3<<std::endl<<std::endl;
169  */
170  TMatrixT<double> jacobian(4,4);
171  /*
172  cg3 = .(ufrom
173  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ufrom) * c * ufrom
174  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ufrom) * d * vfrom
175  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ufrom) *wfrom, u);
176 
177  cg4 = .(vfrom
178  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, vfrom) * c * ufrom
179  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, vfrom) * d * vfrom
180  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, vfrom) *wfrom, u);
181 
182  cg5 = .(- pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) * c * ufrom * .(w, ufrom)
183  + 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, o) * ufrom
184  - pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) * d * vfrom * .(w, ufrom)
185  - pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) *wfrom * .(w, ufrom)
186  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) * c * ufrom * .(w, ufrom)
187  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ofrom + a * ufrom + b * vfrom) * ufrom
188  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) * d * vfrom * .(w, ufrom)
189  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) *wfrom * .(w, ufrom), u);
190 
191  cg6 = .(-pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) * c * ufrom * .(w, vfrom)
192  - pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) * d * vfrom * .(w, vfrom)
193  + 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, o) * vfrom
194  - pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) *wfrom * .(w, vfrom)
195  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) * c * ufrom * .(w, vfrom)
196  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) * d * vfrom * .(w, vfrom)
197  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ofrom + a * ufrom + b * vfrom) * vfrom
198  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) *wfrom * .(w, vfrom), u);
199 
200  cg7 = .(ufrom
201  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ufrom) * c * ufrom
202  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ufrom) * d * vfrom
203  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ufrom) *wfrom, v);
204 
205  cg8 = .(vfrom
206  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, vfrom) * c * ufrom
207  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, vfrom) * d * vfrom
208  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, vfrom) *wfrom, v);
209 
210  cg9 = .(-pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) * c * ufrom * .(w, ufrom)
211  + 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, o) * ufrom
212  - pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) * d * vfrom * .(w, ufrom)
213  - pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) *wfrom * .(w, ufrom)
214  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) * c * ufrom * .(w, ufrom)
215  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ofrom + a * ufrom + b * vfrom) * ufrom
216  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) * d * vfrom * .(w, ufrom)
217  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) *wfrom * .(w, ufrom), v);
218 
219  cg10 = .(-pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) * c * ufrom * .(w, vfrom)
220  - pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) * d * vfrom * .(w, vfrom)
221  + 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, o) * vfrom
222  - pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, o) *wfrom * .(w, vfrom)
223  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) * c * ufrom * .(w, vfrom)
224  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) * d * vfrom * .(w, vfrom)
225  - 1 / .(w, c * ufrom + d * vfrom +wfrom) * .(w, ofrom + a * ufrom + b * vfrom) * vfrom
226  + pow(.(w, c * ufrom + d * vfrom +wfrom), -2) * .(w, ofrom + a * ufrom + b * vfrom) *wfrom * .(w, vfrom), v);
227 
228  cg11 = 0;
229  cg12 = 0;
230 
231  cg13 = .(ufrom, u) / .(c * ufrom + d * vfrom +wfrom, w)
232  - .(c * ufrom + d * vfrom +wfrom, u) * pow(.(c * ufrom + d * vfrom +wfrom, w), -2) * .(ufrom, w);
233 
234  cg14 = .(vfrom, u) / .(c * ufrom + d * vfrom +wfrom, w)
235  - .(c * ufrom + d * vfrom +wfrom, u) * pow(.(c * ufrom + d * vfrom +wfrom, w), -2) * .(vfrom, w);
236  cg15 = 0;
237  cg16 = 0;
238 
239  cg17 = .(ufrom, v) / .(c * ufrom + d * vfrom +wfrom, w)
240  - .(c * ufrom + d * vfrom +wfrom, v) * pow(.(c * ufrom + d * vfrom +wfrom, w), -2) * .(ufrom, w);
241 
242  cg18 = .(vfrom, v) / .(c * ufrom + d * vfrom +wfrom, w)
243  - .(c * ufrom + d * vfrom +wfrom, v) * pow(.(c * ufrom + d * vfrom +wfrom, w), -2) * .(vfrom, w);
244 
245  */
246 
247 
248  double jacobian0 = (ufrom
249  - 1 / (w * dir) * (w * ufrom) * fState[2][0] * ufrom
250  - 1 / (w * dir) * (w * ufrom) * fState[3][0] * vfrom
251  - 1 / (w * dir) * (w * ufrom) * wfrom) * u;
252 
253  double jacobian1 = (vfrom
254  - 1 / (w * dir) * (w * vfrom) * fState[2][0] * ufrom
255  - 1 / (w * dir) * (w * vfrom) * fState[3][0] * vfrom
256  - 1 / (w * dir) * (w * vfrom) * wfrom)* u;
257 
258  double jacobian2 = (- pow( (w * dir), -2) * (w * o) * fState[2][0] * ufrom * (w * ufrom)
259  + 1 / (w * dir) * (w * o) * ufrom
260  - pow((w * dir), -2) * (w * o) * fState[3][0] * vfrom * (w * ufrom)
261  - pow((w * dir), -2) * (w * o) * wfrom * (w * ufrom)
262  + pow((w * dir), -2) * (w * p1) * fState[2][0] * ufrom * (w * ufrom)
263  - 1 / (w * dir) * (w * p1) * ufrom
264  + pow((w * dir), -2) * (w * p1) * fState[3][0] * vfrom * (w * ufrom)
265  + pow((w * dir), -2) * (w * p1) * wfrom * (w * ufrom))* u;
266 
267  double jacobian3 = (-pow( ( w * dir), -2) * (w * o) * fState[2][0] * ufrom * (w * vfrom)
268  - pow((w * dir), -2) * (w * o) * fState[3][0] * vfrom * (w * vfrom)
269  + 1 / (w * dir) * (w * o) * vfrom
270  - pow((w * dir), -2) * (w * o) * wfrom * (w * vfrom)
271  + pow((w * dir), -2) * (w * p1) * fState[2][0] * ufrom * (w * vfrom)
272  + pow((w * dir), -2) * (w * p1) * fState[3][0] * vfrom * (w * vfrom)
273  - 1 / (w * dir) * (w * p1) * vfrom
274  + pow((w * dir), -2) * (w * p1) * wfrom * (w * vfrom))* u;
275 
276  double jacobian4 = (ufrom
277  - 1 / (w * dir) * (w * ufrom) * fState[2][0] * ufrom
278  - 1 / (w * dir) * (w * ufrom) * fState[3][0] * vfrom
279  - 1 / (w * dir) * (w * ufrom) * wfrom)* v;
280 
281  double jacobian5 = (vfrom
282  - 1 / (w * dir) * (w * vfrom) * fState[2][0] * ufrom
283  - 1 / (w * dir) * (w * vfrom) * fState[3][0] * vfrom
284  - 1 / (w * dir) * (w * vfrom) * wfrom)* v;
285 
286  double jacobian6 = (- pow( ( w * dir), -2) * (w * o) * fState[2][0] * ufrom * (w * ufrom)
287  + 1 / (w * dir) * (w * o) * ufrom
288  - pow((w * dir), -2) * (w * o) * fState[3][0] * vfrom * (w * ufrom)
289  - pow((w * dir), -2) * (w * o) * wfrom * (w * ufrom)
290  + pow((w * dir), -2) * (w * p1) * fState[2][0] * ufrom * (w * ufrom)
291  - 1 / (w * dir) * (w * p1) * ufrom
292  + pow((w * dir), -2) * (w * p1) * fState[3][0] * vfrom * (w * ufrom)
293  + pow((w * dir), -2) * (w * p1) * wfrom * (w * ufrom))* v;
294 
295  double jacobian7 = (- pow( ( w * dir), -2) * (w * o) * fState[2][0] * ufrom * (w * vfrom)
296  - pow((w * dir), -2) * (w * o) * fState[3][0] * vfrom * (w * vfrom)
297  + 1 / (w * dir) * (w * o) * vfrom
298  - pow((w * dir), -2) * (w * o) * wfrom * (w * vfrom)
299  + pow((w * dir), -2) * (w * p1) * fState[2][0] * ufrom * (w * vfrom)
300  + pow((w * dir), -2) * (w * p1) * fState[3][0] * vfrom * (w * vfrom)
301  - 1 / (w * dir) * (w * p1) * vfrom
302  + pow((w * dir), -2) * (w * p1) * wfrom * (w * vfrom))* v;
303  double jacobian8 = 0;
304  double jacobian9 = 0;
305 
306  double jacobian10 = ((ufrom * u) / (w * dir)
307  - (dir * u) * pow((w * dir), -2) * (w * ufrom));
308 
309  double jacobian11 = ((vfrom * u) / (w * dir)
310  - (dir * u) * pow((w * dir), -2) * (w * vfrom));
311  double jacobian12 = 0;
312  double jacobian13 = 0;
313 
314  double jacobian14 = ((ufrom * v) / (w * dir)
315  - (dir * v) * pow((w * dir), -2) * (w * ufrom));
316 
317  double jacobian15 = ((vfrom * v) / (w * dir)
318  - (dir * v) * pow((w * dir), -2) * (w * vfrom));
319 
320  jacobian[0][0]=jacobian0; jacobian[0][1]=jacobian1; jacobian[0][2]=jacobian2; jacobian[0][3]=jacobian3;
321  jacobian[1][0]=jacobian4; jacobian[1][1]=jacobian5; jacobian[1][2]=jacobian6; jacobian[1][3]=jacobian7;
322  jacobian[2][0]=jacobian8; jacobian[2][1]=jacobian9; jacobian[2][2]=jacobian10; jacobian[2][3]=jacobian11;
323  jacobian[3][0]=jacobian12; jacobian[3][1]=jacobian13; jacobian[3][2]=jacobian14; jacobian[3][3]=jacobian15;
324  TMatrixT<double> jacobianT(jacobian);
325  jacobianT.T();
326  covPred=jacobian*fCov*(jacobianT);
327  // std::cout<<"covariance[0][0]"<<covPred[0][0]<<std::endl;
328  statePred[0].Assign(state0);
329  statePred[1].Assign(state1);
330  statePred[2].Assign(state2);
331  statePred[3].Assign(state3);
332  return dist;
333 }
unsigned int fDimension
Dimensionality of track representation.
Definition: GFAbsTrackRep.h:90
TMatrixT< Double_t > fCov
The covariance matrix.
Definition: GFAbsTrackRep.h:96
TVector3 getO() const
Definition: GFDetPlane.h:76
TVector3 getU() const
Definition: GFDetPlane.h:77
TDirectory * dir
Definition: macro.C:5
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
TVector3 getV() const
Definition: GFDetPlane.h:78
Float_t w
Definition: plot.C:23
double genf::SlTrackRep::extrapolate ( const GFDetPlane pl,
TMatrixT< double > &  statePred 
)
virtual

Definition at line 66 of file SlTrackRep.cxx.

References dir, genf::GFAbsTrackRep::fDimension, genf::GFAbsTrackRep::fRefPlane, genf::GFAbsTrackRep::fState, genf::GFDetPlane::getO(), genf::GFDetPlane::getU(), genf::GFDetPlane::getV(), and w.

67  {
68  statePred.ResizeTo(fDimension,1);
69  TVector3 o=pl.getO();
70  TVector3 u=pl.getU();
71  TVector3 v=pl.getV();
72  TVector3 w=u.Cross(v);
73  TVector3 ofrom=fRefPlane.getO();
74  TVector3 ufrom=fRefPlane.getU();
75  TVector3 vfrom=fRefPlane.getV();
76  TVector3 wfrom=ufrom.Cross(vfrom);
77  TVector3 p1=ofrom+fState[0][0]*ufrom+fState[1][0]*vfrom;
78 
79  TVector3 dir=(fState[2][0] * ufrom + fState[3][0] * vfrom + wfrom);//in global coordinates
80 
81  if(w*dir==0){
82  std::cerr<<"track paralell to detector plane"<<std::endl
83  <<"extrapolation impossible, aborting"<<std::endl;
84  throw;
85  }
86 
87  double t= ((( w * o) - (w * p1)) /
88  (w * dir));
89 
90  double dist=t*dir.Mag();
91 
92  TVector3 p2=p1+t*dir;
93 
94  double state0=(p2-o)*u;
95  double state1=(p2-o)*v;
96  double state2=(dir*u)/(dir*w);
97  double state3=(dir*v)/(dir*w);
98 
99  statePred[0].Assign(state0);
100  statePred[1].Assign(state1);
101  statePred[2].Assign(state2);
102  statePred[3].Assign(state3);
103  return dist;
104 }
unsigned int fDimension
Dimensionality of track representation.
Definition: GFAbsTrackRep.h:90
TVector3 getO() const
Definition: GFDetPlane.h:76
TVector3 getU() const
Definition: GFDetPlane.h:77
TDirectory * dir
Definition: macro.C:5
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
TVector3 getV() const
Definition: GFDetPlane.h:78
Float_t w
Definition: plot.C:23
double genf::GFAbsTrackRep::extrapolate ( const GFDetPlane plane,
TMatrixT< Double_t > &  statePred 
)
virtualinherited

returns the tracklength spanned in this extrapolation

Reimplemented in genf::RKTrackRep.

Definition at line 42 of file GFAbsTrackRep.cxx.

References genf::GFAbsTrackRep::fDimension.

Referenced by genf::GFAbsTrackRep::extrapolate(), genf::GFKalman::getChi2Hit(), genf::GFTrack::getResiduals(), genf::GFKalman::processHit(), and genf::GFDaf::processTrack().

42  {
43  TMatrixT<Double_t> cov(fDimension,fDimension);
44  return extrapolate(plane,statePred,cov);
45 }
unsigned int fDimension
Dimensionality of track representation.
Definition: GFAbsTrackRep.h:90
virtual double extrapolate(const GFDetPlane &plane, TMatrixT< Double_t > &statePred)
returns the tracklength spanned in this extrapolation
virtual double genf::GFAbsTrackRep::extrapolate ( const GFDetPlane plane,
TMatrixT< Double_t > &  statePred,
TMatrixT< Double_t > &  covPred 
)
pure virtualinherited

Extrapolates the track to the given detectorplane.

Results are put into statePred and covPred This method does NOT alter the state of the object!

Implemented in genf::RKTrackRep.

double genf::GFAbsTrackRep::extrapolate ( const GFDetPlane plane)
inherited

This changes the state and cov and plane of the rep.

This method extrapolates to to the plane and sets the results of state, cov and also plane in itself.

Definition at line 33 of file GFAbsTrackRep.cxx.

References genf::GFAbsTrackRep::extrapolate(), genf::GFAbsTrackRep::fDimension, and genf::GFAbsTrackRep::setData().

33  {
34  TMatrixT<Double_t> statePred(fDimension,1);
35  TMatrixT<Double_t> covPred(fDimension,fDimension);
36  double retVal = extrapolate(plane,statePred,covPred);
37  setData(statePred,plane,&covPred);
38  return retVal;
39 }
unsigned int fDimension
Dimensionality of track representation.
Definition: GFAbsTrackRep.h:90
virtual void setData(const TMatrixT< Double_t > &st, const GFDetPlane &pl, const TMatrixT< Double_t > *cov=NULL)
virtual double extrapolate(const GFDetPlane &plane, TMatrixT< Double_t > &statePred)
returns the tracklength spanned in this extrapolation
void genf::SlTrackRep::extrapolateToLine ( const TVector3 &  point1,
const TVector3 &  point2,
TVector3 &  poca,
TVector3 &  normVec,
TVector3 &  poca_onwire 
)
virtual

This method extrapolates to the point of closest approach to a line.

This method extrapolates to the POCA to a line, i.e. a wire. There is a default implementation just like for the extrapolateToPoca for trackReps which do not need this feature, which will abort the execution if it is ever called.

Reimplemented from genf::GFAbsTrackRep.

Definition at line 353 of file SlTrackRep.cxx.

References dir, genf::GFAbsTrackRep::fRefPlane, genf::GFAbsTrackRep::fState, genf::GFDetPlane::getO(), genf::GFDetPlane::getU(), genf::GFDetPlane::getV(), and t2.

Referenced by setReferencePlane().

357  {
358 
359  TVector3 ofrom=fRefPlane.getO();
360  TVector3 ufrom=fRefPlane.getU();
361  TVector3 vfrom=fRefPlane.getV();
362  TVector3 wfrom=ufrom.Cross(vfrom);
363 
364  TVector3 pfrom=ofrom + fState[0][0]*ufrom + fState[1][0]*vfrom;
365  TVector3 dir=(fState[2][0] * ufrom + fState[3][0] * vfrom + wfrom);//in global coordinates
366  TVector3 lineDir=point2-point1;
367  //normal normal to both lineDir and Dir
368  TVector3 normal(dir.y()*lineDir.z()-dir.z()*lineDir.y(),
369  dir.x()*lineDir.z()-dir.z()*lineDir.x(),
370  dir.x()*lineDir.y()-dir.y()*lineDir.x());
371 
372  normal=normal.Unit();
373  TVector3 planeNorm=dir.Cross(normal);
374  double t=(planeNorm*point2-planeNorm*pfrom)/(planeNorm*dir);
375  poca=pfrom+t*dir;
376  double t2=(lineDir*poca - lineDir*point1)/(lineDir*lineDir);
377  poca_onwire=point1+lineDir*t2;
378  dirInPoca=dir;
379 
380 }
TVector3 getO() const
Definition: GFDetPlane.h:76
TTree * t2
Definition: plottest35.C:36
TVector3 getU() const
Definition: GFDetPlane.h:77
TDirectory * dir
Definition: macro.C:5
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
TVector3 getV() const
Definition: GFDetPlane.h:78
void genf::SlTrackRep::extrapolateToPoint ( const TVector3 &  point,
TVector3 &  poca,
TVector3 &  normVec 
)
virtual

This method is to extrapolate the track to point of closest approach to a point in space.

Reimplemented from genf::GFAbsTrackRep.

Definition at line 334 of file SlTrackRep.cxx.

References dir, genf::GFAbsTrackRep::fRefPlane, genf::GFAbsTrackRep::fState, genf::GFDetPlane::getO(), genf::GFDetPlane::getU(), and genf::GFDetPlane::getV().

Referenced by setReferencePlane().

336  {
337 
338  TVector3 ofrom=fRefPlane.getO();
339  TVector3 ufrom=fRefPlane.getU();
340  TVector3 vfrom=fRefPlane.getV();
341  TVector3 wfrom=ufrom.Cross(vfrom);
342  TVector3 pfrom=ofrom + fState[0][0]*ufrom + fState[1][0]*vfrom;
343  TVector3 dir=(fState[2][0] * ufrom + fState[3][0] * vfrom + wfrom);//in global coordinates
344  // pfrom.Print();
345  dir=dir.Unit();
346  //dir.Print();
347  double t = (dir * pos - dir * pfrom) / (dir * dir);
348 
349  poca=pfrom + t * dir;
350  dirInPoca=dir.Unit();
351 
352 }
TVector3 getO() const
Definition: GFDetPlane.h:76
TVector3 getU() const
Definition: GFDetPlane.h:77
TDirectory * dir
Definition: macro.C:5
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
TVector3 getV() const
Definition: GFDetPlane.h:78
virtual double genf::SlTrackRep::getCharge ( ) const
inlinevirtual

Implements genf::GFAbsTrackRep.

Definition at line 50 of file SlTrackRep.h.

50 {return 0;}
double genf::GFAbsTrackRep::getChiSqu ( ) const
inlineinherited

Definition at line 245 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::fChiSqu.

Referenced by genf::GFTrack::getChiSqu(), genf::GFAbsTrackRep::getRedChiSqu(), trkf::Track3DKalman::produce(), and trkf::Track3DKalmanSPS::produce().

245  {
246  return fChiSqu;
247  }
double fChiSqu
chiSqu of the track fit
Definition: GFAbsTrackRep.h:99
const TMatrixT<Double_t>& genf::GFAbsTrackRep::getCov ( ) const
inlineinherited
double genf::GFAbsTrackRep::getCovElem ( int  i,
int  j 
) const
inlineinherited
unsigned int genf::GFAbsTrackRep::getDim ( ) const
inlineinherited

returns dimension of state vector

Definition at line 194 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::fDimension, and genf::GFAbsTrackRep::Print().

Referenced by genf::GFKalman::getChi2Hit(), genf::GFAbsTrackRep::getNDF(), genf::GFTrack::getResiduals(), genf::GFKalman::processHit(), and genf::GFDaf::processTrack().

194 {return fDimension;}
unsigned int fDimension
Dimensionality of track representation.
Definition: GFAbsTrackRep.h:90
TMatrixT<Double_t> genf::GFAbsTrackRep::getFirstCov ( ) const
inlineinherited

Definition at line 230 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::fFirstCov.

230  {
231  return fFirstCov;
232  }
TMatrixT< Double_t > fFirstCov
GFDetPlane genf::GFAbsTrackRep::getFirstPlane ( ) const
inlineinherited

Definition at line 233 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::fFirstPlane.

233  {
234  return fFirstPlane;
235  }
GFDetPlane fFirstPlane
TMatrixT<Double_t> genf::GFAbsTrackRep::getFirstState ( ) const
inlineinherited

Definition at line 227 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::fFirstState.

227  {
228  return fFirstState;
229  }
TMatrixT< Double_t > fFirstState
state, cov and plane for first and last point in fit
TMatrixT<Double_t> genf::GFAbsTrackRep::getLastCov ( ) const
inlineinherited

Definition at line 239 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::fLastCov.

239  {
240  return fLastCov;
241  }
TMatrixT< Double_t > fLastCov
GFDetPlane genf::GFAbsTrackRep::getLastPlane ( ) const
inlineinherited

Definition at line 242 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::fLastPlane.

Referenced by trkf::Track3DKalman::produce(), and trkf::Track3DKalmanSPS::produce().

242  {
243  return fLastPlane;
244  }
TMatrixT<Double_t> genf::GFAbsTrackRep::getLastState ( ) const
inlineinherited

Definition at line 236 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::fLastState.

236  {
237  return fLastState;
238  }
TMatrixT< Double_t > fLastState
TVector3 genf::SlTrackRep::getMom ( const GFDetPlane pl)
virtual

Implements genf::GFAbsTrackRep.

Definition at line 388 of file SlTrackRep.cxx.

References extrapolate(), genf::GFAbsTrackRep::fRefPlane, genf::GFAbsTrackRep::fState, genf::GFDetPlane::getNormal(), genf::GFDetPlane::getU(), and genf::GFDetPlane::getV().

388  {
389  TMatrixT<double> statePred(fState);
390  if(pl!=fRefPlane){
391  extrapolate(pl,statePred);
392  }
393  TVector3 ret = pl.getNormal()+(statePred[2][0]*pl.getU())+(statePred[3][0]*pl.getV());
394  ret.SetMag(1.);
395  return ret;
396 }
virtual double extrapolate(const GFDetPlane &, TMatrixT< double > &statePred, TMatrixT< double > &covPred)
Definition: SlTrackRep.cxx:105
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
TVector3 genf::GFAbsTrackRep::getMom ( )
inlineinherited
unsigned int genf::GFAbsTrackRep::getNDF ( ) const
inlineinherited

Definition at line 253 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::getDim().

Referenced by genf::GFTrack::getNDF(), genf::GFAbsTrackRep::getRedChiSqu(), trkf::Track3DKalman::produce(), and trkf::Track3DKalmanSPS::produce().

253  {
254  if(fNdf>getDim()) return fNdf-getDim();
255  return 0;
256  }
unsigned int getDim() const
returns dimension of state vector
TVector3 genf::SlTrackRep::getPos ( const GFDetPlane pl)
virtual

Implements genf::GFAbsTrackRep.

Definition at line 381 of file SlTrackRep.cxx.

References extrapolate(), genf::GFAbsTrackRep::fRefPlane, genf::GFAbsTrackRep::fState, genf::GFDetPlane::getO(), genf::GFDetPlane::getU(), and genf::GFDetPlane::getV().

381  {
382  TMatrixT<double> statePred(fState);
383  if(pl!=fRefPlane){
384  extrapolate(pl,statePred);
385  }
386  return pl.getO()+(statePred[0][0]*pl.getU())+(statePred[1][0]*pl.getV());
387 }
virtual double extrapolate(const GFDetPlane &, TMatrixT< double > &statePred, TMatrixT< double > &covPred)
Definition: SlTrackRep.cxx:105
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
TVector3 genf::GFAbsTrackRep::getPos ( )
inlineinherited
void genf::SlTrackRep::getPosMom ( const GFDetPlane pl,
TVector3 &  pos,
TVector3 &  mom 
)
virtual

Implements genf::GFAbsTrackRep.

Definition at line 397 of file SlTrackRep.cxx.

References genf::GFAbsTrackRep::getMom(), and genf::GFAbsTrackRep::getPos().

Referenced by setReferencePlane().

397  {
398  pos=getPos(pl);
399  mom=getMom(pl);
400 }
void genf::GFAbsTrackRep::getPosMomCov ( const GFDetPlane pl,
TVector3 &  pos,
TVector3 &  mom,
TMatrixT< Double_t > &  cov 
)
virtualinherited

method which gets position, momentum and 6x6 covariance matrix

default implementation in cxx file, if a ConcreteTrackRep can not implement this functionality

Definition at line 75 of file GFAbsTrackRep.cxx.

References genf::GFAbsTrackRep::Abort().

Referenced by genf::GFAbsTrackRep::getCovElem(), genf::GFAbsTrackRep::getPosMomCov(), and genf::GFTrack::getPosMomCov().

75  {
76  Abort("getPosMomCov()");
77 }
void Abort(std::string method)
void genf::GFAbsTrackRep::getPosMomCov ( TVector3 &  pos,
TVector3 &  mom,
TMatrixT< Double_t > &  c 
)
inlineinherited

Definition at line 223 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::getPosMomCov().

223  {
224  getPosMomCov(fRefPlane,pos,mom,c);
225  }
virtual void getPosMomCov(const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< Double_t > &cov)
method which gets position, momentum and 6x6 covariance matrix
double genf::GFAbsTrackRep::getRedChiSqu ( ) const
inlineinherited

returns chi2/ndf

Definition at line 249 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::getChiSqu(), and genf::GFAbsTrackRep::getNDF().

Referenced by genf::GFTrack::getRedChiSqu().

249  {
250  if(getNDF()>0) return getChiSqu()/getNDF();
251  return 0;
252  }
unsigned int getNDF() const
double getChiSqu() const
const GFDetPlane& genf::GFAbsTrackRep::getReferencePlane ( ) const
inlineinherited
const TMatrixT<Double_t>& genf::GFAbsTrackRep::getState ( ) const
inlineinherited
double genf::GFAbsTrackRep::getStateElem ( int  i) const
inlineinherited

Definition at line 201 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::fState.

201 {return fState(i,0);}
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
bool genf::GFAbsTrackRep::getStatusFlag ( )
inlineinherited
void genf::GFAbsTrackRep::Print ( std::ostream &  out = std::cout) const
virtualinherited

Definition at line 93 of file GFAbsTrackRep.cxx.

References genf::GFAbsTrackRep::fChiSqu, genf::GFAbsTrackRep::fCov, genf::GFAbsTrackRep::fRefPlane, genf::GFAbsTrackRep::fState, genf::GFDetPlane::Print(), and genf::PrintROOTmatrix().

Referenced by genf::GFAbsTrackRep::getDim(), and genf::GFTrack::Print().

93  {
94  out << "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
95  out <<"GFAbsTrackRep::Parameters at reference plane ";
96  fRefPlane.Print(out);
97  out <<"GFAbsTrackRep::State"<<std::endl;
98  PrintROOTmatrix(out, fState);
99  out <<"GFAbsTrackRep::Covariances"<<std::endl;
100  PrintROOTmatrix(out, fCov);
101  out <<"GFAbsTrackRep::chi^2"<<std::endl;
102  out <<fChiSqu<<std::endl;
103  out << "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
104 }
double fChiSqu
chiSqu of the track fit
Definition: GFAbsTrackRep.h:99
void PrintROOTmatrix(std::ostream &out, const TMatrixT< T > &m)
Small utility functions which print some ROOT objects into an output stream.
Definition: GFException.h:132
void Print(std::ostream &out=std::cout) const
Definition: GFDetPlane.cxx:242
TMatrixT< Double_t > fCov
The covariance matrix.
Definition: GFAbsTrackRep.h:96
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
virtual GFAbsTrackRep* genf::SlTrackRep::prototype ( ) const
inlinevirtual

Implements genf::GFAbsTrackRep.

Definition at line 22 of file SlTrackRep.h.

References SlTrackRep().

22 {return new SlTrackRep();}
void genf::GFAbsTrackRep::reset ( )
virtualinherited

Definition at line 80 of file GFAbsTrackRep.cxx.

References genf::GFAbsTrackRep::fCov, genf::GFAbsTrackRep::fFirstCov, genf::GFAbsTrackRep::fFirstState, genf::GFAbsTrackRep::fLastCov, genf::GFAbsTrackRep::fLastState, genf::GFAbsTrackRep::fRefPlane, genf::GFAbsTrackRep::fState, and genf::GFDetPlane::set().

Referenced by genf::GFAbsTrackRep::getStatusFlag().

80  {
81  std::cout<<"GFAbsTrackRep::reset"<<std::endl;
82  TVector3 nullVec(0.,0.,0.);
83  fRefPlane.set(nullVec,nullVec,nullVec);
84  fState.Zero();
85  fCov.Zero();
86  fFirstState.Zero();
87  fFirstCov.Zero();
88  fLastState.Zero();
89  fLastCov.Zero();
90 }
void set(const TVector3 &o, const TVector3 &u, const TVector3 &v)
Definition: GFDetPlane.cxx:85
TMatrixT< Double_t > fCov
The covariance matrix.
Definition: GFAbsTrackRep.h:96
TMatrixT< Double_t > fFirstCov
TMatrixT< Double_t > fLastState
TMatrixT< Double_t > fLastCov
TMatrixT< Double_t > fFirstState
state, cov and plane for first and last point in fit
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
void genf::GFAbsTrackRep::setChiSqu ( double  aChiSqu)
inlineinherited

Definition at line 287 of file GFAbsTrackRep.h.

Referenced by genf::GFKalman::fittingPass().

287  {
288  fChiSqu = aChiSqu;
289  }
double fChiSqu
chiSqu of the track fit
Definition: GFAbsTrackRep.h:99
void genf::GFAbsTrackRep::setCov ( const TMatrixT< Double_t > &  aCov)
inlineinherited

Definition at line 263 of file GFAbsTrackRep.h.

Referenced by genf::GFDaf::blowUpCovs(), genf::GFKalman::blowUpCovs(), and genf::GFKalman::blowUpCovsDiag().

263  {
264  fCov=aCov;
265  }
TMatrixT< Double_t > fCov
The covariance matrix.
Definition: GFAbsTrackRep.h:96
virtual void genf::GFAbsTrackRep::setData ( const TMatrixT< Double_t > &  st,
const GFDetPlane pl,
const TMatrixT< Double_t > *  cov = NULL 
)
inlinevirtualinherited

Definition at line 258 of file GFAbsTrackRep.h.

Referenced by genf::GFAbsTrackRep::extrapolate(), genf::GFKalman::processHit(), genf::GFDaf::processTrack(), genf::RKTrackRep::setData(), and genf::RKTrackRep::switchDirection().

258  {
259  fState=st;
260  fRefPlane=pl;
261  if(cov!=NULL) fCov=*cov;
262  }
TMatrixT< Double_t > fCov
The covariance matrix.
Definition: GFAbsTrackRep.h:96
TMatrixT< Double_t > fState
The vector of track parameters.
Definition: GFAbsTrackRep.h:93
void genf::GFAbsTrackRep::setFirstCov ( const TMatrixT< Double_t > &  aCov)
inlineinherited

Definition at line 269 of file GFAbsTrackRep.h.

269  {
270  fFirstCov = aCov;
271  }
TMatrixT< Double_t > fFirstCov
void genf::GFAbsTrackRep::setFirstPlane ( const GFDetPlane aPlane)
inlineinherited

Definition at line 272 of file GFAbsTrackRep.h.

272  {
273  fFirstPlane = aPlane;;
274  }
GFDetPlane fFirstPlane
void genf::GFAbsTrackRep::setFirstState ( const TMatrixT< Double_t > &  aState)
inlineinherited

Definition at line 266 of file GFAbsTrackRep.h.

266  {
267  fFirstState = aState;
268  }
TMatrixT< Double_t > fFirstState
state, cov and plane for first and last point in fit
bool genf::GFAbsTrackRep::setInverted ( bool  f = true)
inlineinherited

Deprecated. Should be removed soon.

Definition at line 306 of file GFAbsTrackRep.h.

References f.

306 {fInverted=f; return true;}
bool fInverted
specifies the direction of flight of the particle
TFile f
Definition: plotHisto.C:6
void genf::GFAbsTrackRep::setLastCov ( const TMatrixT< Double_t > &  aCov)
inlineinherited

Definition at line 278 of file GFAbsTrackRep.h.

278  {
279  fLastCov = aCov;
280  }
TMatrixT< Double_t > fLastCov
void genf::GFAbsTrackRep::setLastPlane ( const GFDetPlane aPlane)
inlineinherited

Definition at line 281 of file GFAbsTrackRep.h.

281  {
282  fLastPlane = aPlane;;
283  }
void genf::GFAbsTrackRep::setLastState ( const TMatrixT< Double_t > &  aState)
inlineinherited

Definition at line 275 of file GFAbsTrackRep.h.

275  {
276  fLastState = aState;
277  }
TMatrixT< Double_t > fLastState
void genf::GFAbsTrackRep::setNDF ( unsigned int  n)
inlineinherited

Definition at line 290 of file GFAbsTrackRep.h.

References n.

Referenced by genf::GFKalman::fittingPass().

290  {
291  fNdf = n;
292  }
Char_t n[5]
void genf::SlTrackRep::setReferencePlane ( const GFDetPlane pl)
inline
void genf::GFAbsTrackRep::setStatusFlag ( int  _val)
inlineinherited

Definition at line 299 of file GFAbsTrackRep.h.

References genf::GFAbsTrackRep::switchDirection().

Referenced by genf::GFKalman::fittingPass(), and genf::GFDaf::processTrack().

299  {
300  fStatusFlag = _val;
301  }
int fStatusFlag
status of track representation: 0 means everything&#39;s OK
void genf::GFAbsTrackRep::stepalong ( double  h)
virtualinherited

make step of h cm along the track

There is an emply implementation in GFAbsTrackRep.cxx which will abort (see one of the extrapolate methods above). This can be overwritten, if this feature is needed.

Definition at line 71 of file GFAbsTrackRep.cxx.

References genf::GFAbsTrackRep::Abort().

71  {
72  Abort("stepalong()");
73 }
void Abort(std::string method)
void genf::SlTrackRep::switchDirection ( )
inlinevirtual

Implements genf::GFAbsTrackRep.

Definition at line 52 of file SlTrackRep.h.

References _backw.

Member Data Documentation

int genf::SlTrackRep::_backw
private

Definition at line 57 of file SlTrackRep.h.

Referenced by switchDirection().

double genf::GFAbsTrackRep::fChiSqu
protectedinherited

chiSqu of the track fit

Definition at line 99 of file GFAbsTrackRep.h.

Referenced by genf::GFAbsTrackRep::getChiSqu(), and genf::GFAbsTrackRep::Print().

unsigned int genf::GFAbsTrackRep::fDimension
protectedinherited

Dimensionality of track representation.

Definition at line 90 of file GFAbsTrackRep.h.

Referenced by extrapolate(), genf::GFAbsTrackRep::extrapolate(), and genf::GFAbsTrackRep::getDim().

TMatrixT<Double_t> genf::GFAbsTrackRep::fFirstCov
protectedinherited
GFDetPlane genf::GFAbsTrackRep::fFirstPlane
protectedinherited

Definition at line 113 of file GFAbsTrackRep.h.

Referenced by genf::GFAbsTrackRep::getFirstPlane().

TMatrixT<Double_t> genf::GFAbsTrackRep::fFirstState
protectedinherited

state, cov and plane for first and last point in fit

Definition at line 108 of file GFAbsTrackRep.h.

Referenced by genf::GFAbsTrackRep::getFirstState(), and genf::GFAbsTrackRep::reset().

bool genf::GFAbsTrackRep::fInverted
protectedinherited

specifies the direction of flight of the particle

Definition at line 105 of file GFAbsTrackRep.h.

TMatrixT<Double_t> genf::GFAbsTrackRep::fLastCov
protectedinherited

Definition at line 112 of file GFAbsTrackRep.h.

Referenced by genf::GFAbsTrackRep::getLastCov(), and genf::GFAbsTrackRep::reset().

GFDetPlane genf::GFAbsTrackRep::fLastPlane
protectedinherited

Definition at line 114 of file GFAbsTrackRep.h.

Referenced by genf::GFAbsTrackRep::getLastPlane().

TMatrixT<Double_t> genf::GFAbsTrackRep::fLastState
protectedinherited
unsigned int genf::GFAbsTrackRep::fNdf
protectedinherited

Definition at line 100 of file GFAbsTrackRep.h.

int genf::GFAbsTrackRep::fStatusFlag
protectedinherited

status of track representation: 0 means everything's OK

Definition at line 103 of file GFAbsTrackRep.h.

Referenced by genf::GFAbsTrackRep::getStatusFlag().


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