ROOT logo
#ifndef HKALTRACK_H
#define HKALTRACK_H

// from ROOT
#include "TObject.h"
#include "TMath.h"

// from hydra
#include "hbasetrack.h"

class HKalTrack : public HBaseTrack {

private:

    Float_t betaInput;      // Beta value used for particle hyposthesis.
    Float_t chi2;           // Chi2.
    Float_t momInput;       // Starting estimation of momentum.
    Float_t ndf;            // Number degrees of freedom.
    Int_t   nIter;          // Number of Kalman filtering iterations.
    Float_t trackLength;    // Track length through all MDCs
    Int_t   pid;            // Geant particle id.
    Float_t txInput;        // Starting estimate of direction (tan(px/pz))
    Float_t tyInput;        // Starting estimate of direction (tan(px/pz))
    Float_t xInput;         // Starting estimate of position in sector coords. (mm)
    Float_t yInput;         // Starting estimate of position in sector coords. (mm)

    Float_t dxMeta;         // KF propagation point on meta - x MetaHit
    Float_t dyMeta;         // KF propagation point on meta - y MetaHit
    Float_t dzMeta;         // KF propagation point on meta - z MetaHit
    Float_t qualityRpc;
    Float_t qualityShower;
    Float_t qualityTof;

    Bool_t isWireHit;    // Is a drift chamber wire hit.

    Int_t idxFirst;      // Index of first hit in the track.
    Int_t idxLast;       // Indes of last hit in the track.

public:

    HKalTrack();

    virtual ~HKalTrack() { ; }

    virtual Float_t getBetaInput     () const { return betaInput; }

    virtual Float_t getChi2          () const { return chi2; }

    virtual Int_t   getIdxFirst      () const { return idxFirst; }

    virtual Int_t   getIdxLast       () const { return idxLast; }

    virtual Bool_t  getIsWireHit     () const { return isWireHit; }

    virtual Float_t getMETAdx        () const { return dxMeta;}

    virtual Float_t getMETAdy        () const { return dyMeta;}

    virtual Float_t getMETAdz        () const { return dzMeta;}

    virtual Float_t getMomInput      () const { return momInput; }

    virtual Float_t getNdf           () const { return ndf; }

    virtual Float_t getTrackLength   () const { return trackLength; }

    virtual Int_t   getPid           () const { return pid; }

    virtual Float_t getQualityRpc    () const {return qualityRpc; }

    virtual Float_t getQualityShower () const {return qualityShower;}

    virtual Float_t getQualityEmc    () const {return qualityShower;}
    
    virtual Float_t getQualityTof    () const {return qualityTof;}

    virtual Float_t getTxInput       () const { return txInput; }

    virtual Float_t getTyInput       () const { return tyInput; }

    virtual Float_t getXinput        () const { return xInput; }

    virtual Float_t getYinput        () const { return yInput; }

    virtual void    setBetaInput     (Float_t b)   { betaInput = b; }

    virtual void    setChi2          (Float_t c)   { chi2 = c;}

    virtual void    setIdxFirst      (Int_t i)     { idxFirst = i; }

    virtual void    setIdxLast       (Int_t i)     { idxLast = i; }

    virtual void    setIsWireHit     (Bool_t wire) { isWireHit = wire; }

    virtual void    setMETAdx        (Float_t x)   { dxMeta = x;}

    virtual void    setMETAdy        (Float_t y)   { dyMeta = y;}

    virtual void    setMETAdz        (Float_t z)   { dzMeta = z;}

    virtual void    setMomInput      (Float_t mom) { momInput = mom; }

    virtual void    setNdf           (Float_t n)   { ndf = n; }

    virtual void    setTrackLength   (Float_t l)   { trackLength = l; }

    virtual void    setPid           (Int_t id)    { pid = id; }

    virtual void    setQualityRpc    (Float_t qRpc) {qualityRpc = qRpc; }

    virtual void    setQualityShower (Float_t qShower) {qualityShower = qShower;}

    virtual void    setQualityEmc    (Float_t qEmc)    {qualityShower = qEmc;}
    
    virtual void    setQualityTof    (Float_t qTof) {qualityTof = qTof;}

    virtual void    setTxInput       (Float_t tx)   { txInput = tx; }

    virtual void    setTyInput       (Float_t ty)   { tyInput = ty; }

    virtual void    setXinput        (Float_t x)    { xInput = x; }

    virtual void    setYinput        (Float_t y)    { yInput = y; }

    Float_t getMetaRadius            ()             { return  (dxMeta == -10000)? -1: TMath::Sqrt(dxMeta*dxMeta+dyMeta*dyMeta);}

    ClassDef (HKalTrack,1)
};

#endif
 hkaltrack.h:1
 hkaltrack.h:2
 hkaltrack.h:3
 hkaltrack.h:4
 hkaltrack.h:5
 hkaltrack.h:6
 hkaltrack.h:7
 hkaltrack.h:8
 hkaltrack.h:9
 hkaltrack.h:10
 hkaltrack.h:11
 hkaltrack.h:12
 hkaltrack.h:13
 hkaltrack.h:14
 hkaltrack.h:15
 hkaltrack.h:16
 hkaltrack.h:17
 hkaltrack.h:18
 hkaltrack.h:19
 hkaltrack.h:20
 hkaltrack.h:21
 hkaltrack.h:22
 hkaltrack.h:23
 hkaltrack.h:24
 hkaltrack.h:25
 hkaltrack.h:26
 hkaltrack.h:27
 hkaltrack.h:28
 hkaltrack.h:29
 hkaltrack.h:30
 hkaltrack.h:31
 hkaltrack.h:32
 hkaltrack.h:33
 hkaltrack.h:34
 hkaltrack.h:35
 hkaltrack.h:36
 hkaltrack.h:37
 hkaltrack.h:38
 hkaltrack.h:39
 hkaltrack.h:40
 hkaltrack.h:41
 hkaltrack.h:42
 hkaltrack.h:43
 hkaltrack.h:44
 hkaltrack.h:45
 hkaltrack.h:46
 hkaltrack.h:47
 hkaltrack.h:48
 hkaltrack.h:49
 hkaltrack.h:50
 hkaltrack.h:51
 hkaltrack.h:52
 hkaltrack.h:53
 hkaltrack.h:54
 hkaltrack.h:55
 hkaltrack.h:56
 hkaltrack.h:57
 hkaltrack.h:58
 hkaltrack.h:59
 hkaltrack.h:60
 hkaltrack.h:61
 hkaltrack.h:62
 hkaltrack.h:63
 hkaltrack.h:64
 hkaltrack.h:65
 hkaltrack.h:66
 hkaltrack.h:67
 hkaltrack.h:68
 hkaltrack.h:69
 hkaltrack.h:70
 hkaltrack.h:71
 hkaltrack.h:72
 hkaltrack.h:73
 hkaltrack.h:74
 hkaltrack.h:75
 hkaltrack.h:76
 hkaltrack.h:77
 hkaltrack.h:78
 hkaltrack.h:79
 hkaltrack.h:80
 hkaltrack.h:81
 hkaltrack.h:82
 hkaltrack.h:83
 hkaltrack.h:84
 hkaltrack.h:85
 hkaltrack.h:86
 hkaltrack.h:87
 hkaltrack.h:88
 hkaltrack.h:89
 hkaltrack.h:90
 hkaltrack.h:91
 hkaltrack.h:92
 hkaltrack.h:93
 hkaltrack.h:94
 hkaltrack.h:95
 hkaltrack.h:96
 hkaltrack.h:97
 hkaltrack.h:98
 hkaltrack.h:99
 hkaltrack.h:100
 hkaltrack.h:101
 hkaltrack.h:102
 hkaltrack.h:103
 hkaltrack.h:104
 hkaltrack.h:105
 hkaltrack.h:106
 hkaltrack.h:107
 hkaltrack.h:108
 hkaltrack.h:109
 hkaltrack.h:110
 hkaltrack.h:111
 hkaltrack.h:112
 hkaltrack.h:113
 hkaltrack.h:114
 hkaltrack.h:115
 hkaltrack.h:116
 hkaltrack.h:117
 hkaltrack.h:118
 hkaltrack.h:119
 hkaltrack.h:120
 hkaltrack.h:121
 hkaltrack.h:122
 hkaltrack.h:123
 hkaltrack.h:124
 hkaltrack.h:125
 hkaltrack.h:126
 hkaltrack.h:127
 hkaltrack.h:128
 hkaltrack.h:129
 hkaltrack.h:130