//____________________________________________________________________
//
// Vertex fitted particle track
//
// A HepVtxTrackHelix-object contains two sets of helix-parametrisation.
// The inherited one {D0, Z0, ...} and one w.r.t the vertex the Track is
// linked to {D0_Vtx, Z0_Vtx, ...}, whereby the coordinates of the Reference
// Point are given by the coordinates of the Vertex.
//
// !!! Note: Although a track can point to multiple vertices, here   !!! 
// !!! only the relation and track parameters of the vertex with the !!!
// !!! lowest chi2/ndof are stored.                                  !!!
//
// (The lost connection to the vertices might be restored however by
// walking the relationships from the vertices in direction of the
// tracks.)
//
//  Author: Oliver Maria Kind <mailto: kind@mail.desy.de>
//  Update: $Id: HepVtxTrackHelix.cxx,v 1.10 2010/07/05 11:48:36 kind Exp $
//  Copyright: 2008 (C) Oliver Maria Kind
//

#ifndef HEP_HepVtxTrackHelix
#include <HepVtxTrackHelix.h>
#endif
#include <iostream>

using namespace std;

#ifndef __CINT__
ClassImp(HepVtxTrackHelix);
#endif

//____________________________________________________________________

HepVtxTrackHelix::HepVtxTrackHelix() {
    //
    // Default constructor
    //
    fVertex = new TRef;
    fIsClonedFrom = new TRef;
}

//____________________________________________________________________

HepVtxTrackHelix::HepVtxTrackHelix(Int_t Id, Float_t Chi2, Int_t NDoF,
				   Float_t Xref, Float_t Yref, Float_t Zref, Float_t Phi0,
				   Float_t QovP, Float_t D0,
				   Float_t Z0, Float_t Theta0,
				   const Float_t CovMat[15]) :
    HepTrackHelix(Id, Chi2, NDoF, Xref, Yref, Zref, Phi0, QovP, D0, Z0,
		  Theta0, CovMat),
    
    fNDoF_Vtx(0) {
  
  //
  // Normal constructor
  //
  fVertex = new TRef;
  fIsClonedFrom = new TRef;
  fP_Vtx.SetXYZ(0., 0., 1.);
}

//____________________________________________________________________

HepVtxTrackHelix::~HepVtxTrackHelix() {
    //
    // Default destructor
    //
    delete fVertex; fVertex = 0;
    delete fIsClonedFrom; fIsClonedFrom = 0;
}

//____________________________________________________________________

void HepVtxTrackHelix::Clear(Option_t *option) {
    //
    // Clear this object
    //
    HepTrackHelix::Clear(option);

    fChi2_Vtx   = 0.;
    fNDoF_Vtx   = 0;
    fQovP_Vtx   = 0.;
    fQovP_Vtx   = 0.;
    fD0_Vtx     = 0.;
    fZ0_Vtx     = 0.;
    fPhi0_Vtx   = 0.;
    fTheta0_Vtx = 0.;
    delete fVertex; fVertex = 0;
    delete fIsClonedFrom; fIsClonedFrom = 0;

    //Reset Vectors
    fP_Vtx.SetXYZ(0., 0., 1.);
}

//____________________________________________________________________

Bool_t HepVtxTrackHelix::IsPositive() const { 
    //
    // Positively charged ?
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //

    if ( IsVtxTrack() ) {
	return ( fQovP_Vtx > 0. ) ? kTRUE : kFALSE;
    } else {
	return ( fQovP > 0. ) ? kTRUE : kFALSE;
    }
}

//____________________________________________________________________

Bool_t HepVtxTrackHelix::IsNegative() const {
    //
    // Negatively charged ?
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //
    return !IsPositive();
}

//____________________________________________________________________

Bool_t HepVtxTrackHelix::IsVtxTrack() const {

    if (ProducedAt() == 0) return kFALSE;
    else                   return kTRUE;
}

//____________________________________________________________________

Bool_t HepVtxTrackHelix::IsPrimaryVtxTrack() const {

    if (ProducedAt() == 0) return kFALSE;
    else                   return ProducedAt()->IsPrimary(); 
}

//____________________________________________________________________

Bool_t HepVtxTrackHelix::IsSecondaryVtxTrack() const {

    if (ProducedAt() == 0) return kFALSE;
    else                   return ProducedAt()->IsSecondary();  
}

//____________________________________________________________________

Bool_t HepVtxTrackHelix::IsPileUpVtxTrack() const {

    if (ProducedAt() == 0) return kFALSE;
    else                   return ProducedAt()->IsPileUp();
}

//____________________________________________________________________


Int_t HepVtxTrackHelix::Charge() const {
    //
    // Get particle's charge (in units of e)
    //
    Float_t QovP = 0.;
    Int_t charge = 0;
    if ( IsVtxTrack() ) {
	QovP = fQovP_Vtx;
    } else {
	QovP = fQovP;
    }
    if ( QovP > 0. ) {
	charge = 1;
    } else if ( QovP < 0. ) {
	charge = -1;
    }
    return charge;
}

//____________________________________________________________________

Float_t HepVtxTrackHelix::Pt() const {
    //
    // Transverse momentum
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //

    return P().Perp();
}

//____________________________________________________________________

Float_t HepVtxTrackHelix::Pmag() const {
    //
    // Momentum magnitude
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //
    return P().Mag();
}

//____________________________________________________________________

Float_t HepVtxTrackHelix::Pz() const {
    //
    // Momentum Z component
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //
    return P().Z();
}

//____________________________________________________________________

const TVector3& HepVtxTrackHelix::P() const {

    // Momentum 3-vector
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //
    return ( IsVtxTrack() ) ? fP_Vtx : GetP();
}

//____________________________________________________________________

Float_t HepVtxTrackHelix::QovP() const {
    //
    // Q/P
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //
    return ( IsVtxTrack() ) ? fQovP_Vtx : GetQovP();
}

//____________________________________________________________________

Float_t HepVtxTrackHelix::D0() const {
    //
    // D0
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //
    return ( IsVtxTrack() ) ? fD0_Vtx : GetD0();
}

//____________________________________________________________________

Float_t HepVtxTrackHelix::Z0() const {
    //
    // Z0
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //
    return ( IsVtxTrack() ) ? fZ0_Vtx : GetZ0();
}

//____________________________________________________________________

Float_t HepVtxTrackHelix::Phi0() const {
    //
    // Phi0
    // Either for the vertex fitted helix parameters (default)
    // or the non-vertex fitted ones (if exist).
    //
    return ( IsVtxTrack() ) ? fPhi0_Vtx : GetPhi0();
}

//____________________________________________________________________


Float_t HepVtxTrackHelix::Theta0() const {
    //
    // Theta0
    // Either for the vertex fitted helix parameters 
    // or the non-vertex fitted ones (if exist).
    //
    return ( IsVtxTrack() ) ? fTheta0_Vtx : GetTheta0();
}

//____________________________________________________________________


const Float_t* HepVtxTrackHelix::CovMatrix() const {
    // Covariance Matrix in helix parameter expression
    // either for the vertex fitted or the
    // non vertex fitted ones.

    return ( IsVtxTrack() ) ? fCovMat_Vtx : GetCovMatrix();
}


//____________________________________________________________________


Float_t HepVtxTrackHelix::Chi2() const {
    //
    // Chi2
    // Either for the vertex fitted tracks
    // or the non-vertex fitted ones.
    //
    return ( IsVtxTrack() ) ? fChi2_Vtx : GetChi2();
}

//____________________________________________________________________


Int_t HepVtxTrackHelix::NDoF() const {
    //
    // NDoF
    // Either for the vertex fitted helix parameters
    // or the non-vertex fitted ones.
    //
    return ( IsVtxTrack() ) ? fNDoF_Vtx : GetNDoF();
}

//____________________________________________________________________


void HepVtxTrackHelix::PrintVtxType() const {
    //
    // Print type of assigned vertex
    //
    if ( GetVertex() != 0 ) {
	cout.width(17); cout << GetVertex()->GetVtxTypeStr();
    } else {
	cout << "          ---    ";
    }
}

//____________________________________________________________________

void HepVtxTrackHelix::PrintClone() const {
    //
    // Print Id of clone track (if any)
    //
    if ( IsClonedFrom() != 0 ) {
	cout.setf(ios::showpoint | ios::fixed, ios::floatfield);
	cout.width(5); cout << IsClonedFrom()->GetId();
    } else {
	cout << "  -- ";
    }
}

//____________________________________________________________________

void HepVtxTrackHelix::SetVtxParameters(Float_t Chi2_Vtx, Int_t NDoF_Vtx,
					Float_t Phi0_Vtx, Float_t QovP_Vtx, Float_t D0_Vtx,
					Float_t Z0_Vtx, Float_t Theta0_Vtx,
					Float_t CovMat_Vtx[15]) {
    //
    // Set helix parameters w.r.t. the vertex as reference point
    //
    fChi2_Vtx   = Chi2_Vtx;
    fNDoF_Vtx   = NDoF_Vtx;
    fPhi0_Vtx   = Phi0_Vtx;
    fQovP_Vtx   = QovP_Vtx;
    fD0_Vtx     = D0_Vtx;
    fZ0_Vtx     = Z0_Vtx;
    fTheta0_Vtx = Theta0_Vtx;
    for(Int_t i=0; i<15; i++) fCovMat_Vtx[i] = CovMat_Vtx[i];

}
 HepVtxTrackHelix.cxx:1
 HepVtxTrackHelix.cxx:2
 HepVtxTrackHelix.cxx:3
 HepVtxTrackHelix.cxx:4
 HepVtxTrackHelix.cxx:5
 HepVtxTrackHelix.cxx:6
 HepVtxTrackHelix.cxx:7
 HepVtxTrackHelix.cxx:8
 HepVtxTrackHelix.cxx:9
 HepVtxTrackHelix.cxx:10
 HepVtxTrackHelix.cxx:11
 HepVtxTrackHelix.cxx:12
 HepVtxTrackHelix.cxx:13
 HepVtxTrackHelix.cxx:14
 HepVtxTrackHelix.cxx:15
 HepVtxTrackHelix.cxx:16
 HepVtxTrackHelix.cxx:17
 HepVtxTrackHelix.cxx:18
 HepVtxTrackHelix.cxx:19
 HepVtxTrackHelix.cxx:20
 HepVtxTrackHelix.cxx:21
 HepVtxTrackHelix.cxx:22
 HepVtxTrackHelix.cxx:23
 HepVtxTrackHelix.cxx:24
 HepVtxTrackHelix.cxx:25
 HepVtxTrackHelix.cxx:26
 HepVtxTrackHelix.cxx:27
 HepVtxTrackHelix.cxx:28
 HepVtxTrackHelix.cxx:29
 HepVtxTrackHelix.cxx:30
 HepVtxTrackHelix.cxx:31
 HepVtxTrackHelix.cxx:32
 HepVtxTrackHelix.cxx:33
 HepVtxTrackHelix.cxx:34
 HepVtxTrackHelix.cxx:35
 HepVtxTrackHelix.cxx:36
 HepVtxTrackHelix.cxx:37
 HepVtxTrackHelix.cxx:38
 HepVtxTrackHelix.cxx:39
 HepVtxTrackHelix.cxx:40
 HepVtxTrackHelix.cxx:41
 HepVtxTrackHelix.cxx:42
 HepVtxTrackHelix.cxx:43
 HepVtxTrackHelix.cxx:44
 HepVtxTrackHelix.cxx:45
 HepVtxTrackHelix.cxx:46
 HepVtxTrackHelix.cxx:47
 HepVtxTrackHelix.cxx:48
 HepVtxTrackHelix.cxx:49
 HepVtxTrackHelix.cxx:50
 HepVtxTrackHelix.cxx:51
 HepVtxTrackHelix.cxx:52
 HepVtxTrackHelix.cxx:53
 HepVtxTrackHelix.cxx:54
 HepVtxTrackHelix.cxx:55
 HepVtxTrackHelix.cxx:56
 HepVtxTrackHelix.cxx:57
 HepVtxTrackHelix.cxx:58
 HepVtxTrackHelix.cxx:59
 HepVtxTrackHelix.cxx:60
 HepVtxTrackHelix.cxx:61
 HepVtxTrackHelix.cxx:62
 HepVtxTrackHelix.cxx:63
 HepVtxTrackHelix.cxx:64
 HepVtxTrackHelix.cxx:65
 HepVtxTrackHelix.cxx:66
 HepVtxTrackHelix.cxx:67
 HepVtxTrackHelix.cxx:68
 HepVtxTrackHelix.cxx:69
 HepVtxTrackHelix.cxx:70
 HepVtxTrackHelix.cxx:71
 HepVtxTrackHelix.cxx:72
 HepVtxTrackHelix.cxx:73
 HepVtxTrackHelix.cxx:74
 HepVtxTrackHelix.cxx:75
 HepVtxTrackHelix.cxx:76
 HepVtxTrackHelix.cxx:77
 HepVtxTrackHelix.cxx:78
 HepVtxTrackHelix.cxx:79
 HepVtxTrackHelix.cxx:80
 HepVtxTrackHelix.cxx:81
 HepVtxTrackHelix.cxx:82
 HepVtxTrackHelix.cxx:83
 HepVtxTrackHelix.cxx:84
 HepVtxTrackHelix.cxx:85
 HepVtxTrackHelix.cxx:86
 HepVtxTrackHelix.cxx:87
 HepVtxTrackHelix.cxx:88
 HepVtxTrackHelix.cxx:89
 HepVtxTrackHelix.cxx:90
 HepVtxTrackHelix.cxx:91
 HepVtxTrackHelix.cxx:92
 HepVtxTrackHelix.cxx:93
 HepVtxTrackHelix.cxx:94
 HepVtxTrackHelix.cxx:95
 HepVtxTrackHelix.cxx:96
 HepVtxTrackHelix.cxx:97
 HepVtxTrackHelix.cxx:98
 HepVtxTrackHelix.cxx:99
 HepVtxTrackHelix.cxx:100
 HepVtxTrackHelix.cxx:101
 HepVtxTrackHelix.cxx:102
 HepVtxTrackHelix.cxx:103
 HepVtxTrackHelix.cxx:104
 HepVtxTrackHelix.cxx:105
 HepVtxTrackHelix.cxx:106
 HepVtxTrackHelix.cxx:107
 HepVtxTrackHelix.cxx:108
 HepVtxTrackHelix.cxx:109
 HepVtxTrackHelix.cxx:110
 HepVtxTrackHelix.cxx:111
 HepVtxTrackHelix.cxx:112
 HepVtxTrackHelix.cxx:113
 HepVtxTrackHelix.cxx:114
 HepVtxTrackHelix.cxx:115
 HepVtxTrackHelix.cxx:116
 HepVtxTrackHelix.cxx:117
 HepVtxTrackHelix.cxx:118
 HepVtxTrackHelix.cxx:119
 HepVtxTrackHelix.cxx:120
 HepVtxTrackHelix.cxx:121
 HepVtxTrackHelix.cxx:122
 HepVtxTrackHelix.cxx:123
 HepVtxTrackHelix.cxx:124
 HepVtxTrackHelix.cxx:125
 HepVtxTrackHelix.cxx:126
 HepVtxTrackHelix.cxx:127
 HepVtxTrackHelix.cxx:128
 HepVtxTrackHelix.cxx:129
 HepVtxTrackHelix.cxx:130
 HepVtxTrackHelix.cxx:131
 HepVtxTrackHelix.cxx:132
 HepVtxTrackHelix.cxx:133
 HepVtxTrackHelix.cxx:134
 HepVtxTrackHelix.cxx:135
 HepVtxTrackHelix.cxx:136
 HepVtxTrackHelix.cxx:137
 HepVtxTrackHelix.cxx:138
 HepVtxTrackHelix.cxx:139
 HepVtxTrackHelix.cxx:140
 HepVtxTrackHelix.cxx:141
 HepVtxTrackHelix.cxx:142
 HepVtxTrackHelix.cxx:143
 HepVtxTrackHelix.cxx:144
 HepVtxTrackHelix.cxx:145
 HepVtxTrackHelix.cxx:146
 HepVtxTrackHelix.cxx:147
 HepVtxTrackHelix.cxx:148
 HepVtxTrackHelix.cxx:149
 HepVtxTrackHelix.cxx:150
 HepVtxTrackHelix.cxx:151
 HepVtxTrackHelix.cxx:152
 HepVtxTrackHelix.cxx:153
 HepVtxTrackHelix.cxx:154
 HepVtxTrackHelix.cxx:155
 HepVtxTrackHelix.cxx:156
 HepVtxTrackHelix.cxx:157
 HepVtxTrackHelix.cxx:158
 HepVtxTrackHelix.cxx:159
 HepVtxTrackHelix.cxx:160
 HepVtxTrackHelix.cxx:161
 HepVtxTrackHelix.cxx:162
 HepVtxTrackHelix.cxx:163
 HepVtxTrackHelix.cxx:164
 HepVtxTrackHelix.cxx:165
 HepVtxTrackHelix.cxx:166
 HepVtxTrackHelix.cxx:167
 HepVtxTrackHelix.cxx:168
 HepVtxTrackHelix.cxx:169
 HepVtxTrackHelix.cxx:170
 HepVtxTrackHelix.cxx:171
 HepVtxTrackHelix.cxx:172
 HepVtxTrackHelix.cxx:173
 HepVtxTrackHelix.cxx:174
 HepVtxTrackHelix.cxx:175
 HepVtxTrackHelix.cxx:176
 HepVtxTrackHelix.cxx:177
 HepVtxTrackHelix.cxx:178
 HepVtxTrackHelix.cxx:179
 HepVtxTrackHelix.cxx:180
 HepVtxTrackHelix.cxx:181
 HepVtxTrackHelix.cxx:182
 HepVtxTrackHelix.cxx:183
 HepVtxTrackHelix.cxx:184
 HepVtxTrackHelix.cxx:185
 HepVtxTrackHelix.cxx:186
 HepVtxTrackHelix.cxx:187
 HepVtxTrackHelix.cxx:188
 HepVtxTrackHelix.cxx:189
 HepVtxTrackHelix.cxx:190
 HepVtxTrackHelix.cxx:191
 HepVtxTrackHelix.cxx:192
 HepVtxTrackHelix.cxx:193
 HepVtxTrackHelix.cxx:194
 HepVtxTrackHelix.cxx:195
 HepVtxTrackHelix.cxx:196
 HepVtxTrackHelix.cxx:197
 HepVtxTrackHelix.cxx:198
 HepVtxTrackHelix.cxx:199
 HepVtxTrackHelix.cxx:200
 HepVtxTrackHelix.cxx:201
 HepVtxTrackHelix.cxx:202
 HepVtxTrackHelix.cxx:203
 HepVtxTrackHelix.cxx:204
 HepVtxTrackHelix.cxx:205
 HepVtxTrackHelix.cxx:206
 HepVtxTrackHelix.cxx:207
 HepVtxTrackHelix.cxx:208
 HepVtxTrackHelix.cxx:209
 HepVtxTrackHelix.cxx:210
 HepVtxTrackHelix.cxx:211
 HepVtxTrackHelix.cxx:212
 HepVtxTrackHelix.cxx:213
 HepVtxTrackHelix.cxx:214
 HepVtxTrackHelix.cxx:215
 HepVtxTrackHelix.cxx:216
 HepVtxTrackHelix.cxx:217
 HepVtxTrackHelix.cxx:218
 HepVtxTrackHelix.cxx:219
 HepVtxTrackHelix.cxx:220
 HepVtxTrackHelix.cxx:221
 HepVtxTrackHelix.cxx:222
 HepVtxTrackHelix.cxx:223
 HepVtxTrackHelix.cxx:224
 HepVtxTrackHelix.cxx:225
 HepVtxTrackHelix.cxx:226
 HepVtxTrackHelix.cxx:227
 HepVtxTrackHelix.cxx:228
 HepVtxTrackHelix.cxx:229
 HepVtxTrackHelix.cxx:230
 HepVtxTrackHelix.cxx:231
 HepVtxTrackHelix.cxx:232
 HepVtxTrackHelix.cxx:233
 HepVtxTrackHelix.cxx:234
 HepVtxTrackHelix.cxx:235
 HepVtxTrackHelix.cxx:236
 HepVtxTrackHelix.cxx:237
 HepVtxTrackHelix.cxx:238
 HepVtxTrackHelix.cxx:239
 HepVtxTrackHelix.cxx:240
 HepVtxTrackHelix.cxx:241
 HepVtxTrackHelix.cxx:242
 HepVtxTrackHelix.cxx:243
 HepVtxTrackHelix.cxx:244
 HepVtxTrackHelix.cxx:245
 HepVtxTrackHelix.cxx:246
 HepVtxTrackHelix.cxx:247
 HepVtxTrackHelix.cxx:248
 HepVtxTrackHelix.cxx:249
 HepVtxTrackHelix.cxx:250
 HepVtxTrackHelix.cxx:251
 HepVtxTrackHelix.cxx:252
 HepVtxTrackHelix.cxx:253
 HepVtxTrackHelix.cxx:254
 HepVtxTrackHelix.cxx:255
 HepVtxTrackHelix.cxx:256
 HepVtxTrackHelix.cxx:257
 HepVtxTrackHelix.cxx:258
 HepVtxTrackHelix.cxx:259
 HepVtxTrackHelix.cxx:260
 HepVtxTrackHelix.cxx:261
 HepVtxTrackHelix.cxx:262
 HepVtxTrackHelix.cxx:263
 HepVtxTrackHelix.cxx:264
 HepVtxTrackHelix.cxx:265
 HepVtxTrackHelix.cxx:266
 HepVtxTrackHelix.cxx:267
 HepVtxTrackHelix.cxx:268
 HepVtxTrackHelix.cxx:269
 HepVtxTrackHelix.cxx:270
 HepVtxTrackHelix.cxx:271
 HepVtxTrackHelix.cxx:272
 HepVtxTrackHelix.cxx:273
 HepVtxTrackHelix.cxx:274
 HepVtxTrackHelix.cxx:275
 HepVtxTrackHelix.cxx:276
 HepVtxTrackHelix.cxx:277
 HepVtxTrackHelix.cxx:278
 HepVtxTrackHelix.cxx:279
 HepVtxTrackHelix.cxx:280
 HepVtxTrackHelix.cxx:281
 HepVtxTrackHelix.cxx:282
 HepVtxTrackHelix.cxx:283
 HepVtxTrackHelix.cxx:284
 HepVtxTrackHelix.cxx:285
 HepVtxTrackHelix.cxx:286
 HepVtxTrackHelix.cxx:287
 HepVtxTrackHelix.cxx:288
 HepVtxTrackHelix.cxx:289
 HepVtxTrackHelix.cxx:290
 HepVtxTrackHelix.cxx:291
 HepVtxTrackHelix.cxx:292
 HepVtxTrackHelix.cxx:293
 HepVtxTrackHelix.cxx:294
 HepVtxTrackHelix.cxx:295
 HepVtxTrackHelix.cxx:296
 HepVtxTrackHelix.cxx:297
 HepVtxTrackHelix.cxx:298
 HepVtxTrackHelix.cxx:299
 HepVtxTrackHelix.cxx:300
 HepVtxTrackHelix.cxx:301
 HepVtxTrackHelix.cxx:302
 HepVtxTrackHelix.cxx:303
 HepVtxTrackHelix.cxx:304
 HepVtxTrackHelix.cxx:305
 HepVtxTrackHelix.cxx:306
 HepVtxTrackHelix.cxx:307
 HepVtxTrackHelix.cxx:308
 HepVtxTrackHelix.cxx:309
 HepVtxTrackHelix.cxx:310
 HepVtxTrackHelix.cxx:311
 HepVtxTrackHelix.cxx:312
 HepVtxTrackHelix.cxx:313
 HepVtxTrackHelix.cxx:314
 HepVtxTrackHelix.cxx:315
 HepVtxTrackHelix.cxx:316
 HepVtxTrackHelix.cxx:317
 HepVtxTrackHelix.cxx:318
 HepVtxTrackHelix.cxx:319
 HepVtxTrackHelix.cxx:320
 HepVtxTrackHelix.cxx:321
 HepVtxTrackHelix.cxx:322
 HepVtxTrackHelix.cxx:323
 HepVtxTrackHelix.cxx:324
 HepVtxTrackHelix.cxx:325
 HepVtxTrackHelix.cxx:326
 HepVtxTrackHelix.cxx:327
 HepVtxTrackHelix.cxx:328
 HepVtxTrackHelix.cxx:329
 HepVtxTrackHelix.cxx:330
 HepVtxTrackHelix.cxx:331
 HepVtxTrackHelix.cxx:332
 HepVtxTrackHelix.cxx:333
 HepVtxTrackHelix.cxx:334
 HepVtxTrackHelix.cxx:335
 HepVtxTrackHelix.cxx:336
 HepVtxTrackHelix.cxx:337
 HepVtxTrackHelix.cxx:338
 HepVtxTrackHelix.cxx:339
 HepVtxTrackHelix.cxx:340
 HepVtxTrackHelix.cxx:341
 HepVtxTrackHelix.cxx:342
 HepVtxTrackHelix.cxx:343
 HepVtxTrackHelix.cxx:344
 HepVtxTrackHelix.cxx:345
 HepVtxTrackHelix.cxx:346
 HepVtxTrackHelix.cxx:347
 HepVtxTrackHelix.cxx:348
 HepVtxTrackHelix.cxx:349
 HepVtxTrackHelix.cxx:350
 HepVtxTrackHelix.cxx:351
 HepVtxTrackHelix.cxx:352
 HepVtxTrackHelix.cxx:353
 HepVtxTrackHelix.cxx:354
 HepVtxTrackHelix.cxx:355
 HepVtxTrackHelix.cxx:356
 HepVtxTrackHelix.cxx:357
 HepVtxTrackHelix.cxx:358
 HepVtxTrackHelix.cxx:359
 HepVtxTrackHelix.cxx:360
 HepVtxTrackHelix.cxx:361