LCFIVertex  0.7.2
vertex_lcfi/inc/TState.h
1 #ifndef INCLUDE_TSTATE_H
2 #define INCLUDE_TSTATE_H 1
3 
4 // Include files
5 
6 #include "trackstate.h"
7 #include "track.h"
8 
16 namespace vertex_lcfi
17 {
18 
19  class TState {
20 
21  public:
22 
23  virtual ~TState();
24 
25  TState(TrackState* TrackState);
26 
27  void GetMeasurement( const double xyz[], double m[], double V[] ) const;
28  void TransportBz( double dS, double P[], double C[] ) const;
29 
30  double GetDStoPointBz( const double xyz[] ) const;
31  bool GetDStoTStateBz( const TState *p,
32  double &DS, double &DS1 ) const;
33 
34  inline int charge() const { return fQ; }
35  inline Track* track() const { return fParentTrack; }
36  inline TrackState* trackState() const { return fParentState; }
37 
38 
39  protected:
40 
41  //Pointer to Track that created this state
42  Track* fParentTrack;
43 
44  //Pointer to TrackState that created this state
45  TrackState* fParentState;
46 
47  double fP[6]; //* Main particle parameters {X,Y,Z,Px,Py,Pz}
48  double fC[21]; //* Low-triangle covariance matrix of fP
49  int fQ; //* Particle charge
50  double fB; //* B-field (Bz only)
51 
52  double fCLight;
53 
54  private:
55 
56  };
57 }
58 
59 #endif // INCLUDE_TSTATE_H
60