ROOT logo
#ifndef HSPLINETRACKF2_H
#define HSPLINETRACKF2_H

#include "hreconstructor.h"
#include "hgeomvector.h"

class HCategory;
class HMdcSeg;
class HMdcGeomPar;
class HTofGeomPar;
class HTofinoGeomPar;
class HSpecGeomPar;
class HIterator;
class HMdcTrackGFieldPar;
class HMdcTrackGCorrPar;
class HMdcTrackGSpline;
class HSplineTrack;
class HSplinePar;
class HGeomTransform;
class HTofHit;
class HMetaMatch2;
class HShowerHit;
class HEmcCluster;
class HMagnetPar;
class HMdcSizesCells;
class HEventHeader;
class HMdcGetContainers;
class HMdcTrkCand;
class HRpcCluster;

class HSplineTrackF2 : public HReconstructor {
private:
   HGeomVector pointMeta;
   HGeomTransform *tRans[6];
  // HGeomTransform secTrans[6];
   HMdcSizesCells *pSizesCells;
   Float_t qIOMatching;
   HEventHeader *evHeader;
   Float_t tarDist;   
   Double_t target;
   Double_t distanceTof;
   Float_t xTof,yTof,zTof;
   Double_t C;
   Int_t system;
   Short_t outerHitInd;
   Short_t indTrkCand;
   Short_t index1;
   Short_t index2;
   Float_t tof;
   Float_t mass2;
   Float_t beta;
   Double_t TOFdistance;
   Char_t sector;
   HMdcGetContainers *fGetCont;
   HMdcSeg *segments[2];
   HRpcCluster *pRpc;
   Int_t polarity;
   Double_t dist;
   Short_t IndTrkCand;  
   Int_t tofClSize;
   Short_t metaInd;
   HSplineTrack *sp;
   HCategory *fCatMdcTrkCand;
   HCategory *fCatSplineTrack;
   HCategory *fCatSplinePar;
   HCategory *fCatMdcSegSim;
   HCategory *fCatTof;
   HCategory *fCatTofCluster;
   HMetaMatch2 *pMetaMatch;
   HMdcTrkCand *pMdcTrkCand;      
   HCategory *fCatRpcCluster;     
   HCategory *fCatShowerHit;    
   HCategory *fCatEmcCluster;
   HCategory *fCatMetaMatch;  
   HMdcGeomPar *fMdcGeometry;
   HSpecGeomPar *fSpecGeomPar;
   HTofHit *pTofHit[3];
   HShowerHit  *pShowerHit; 
   HEmcCluster *pEmcCluster;
   HMdcTrackGSpline *Spline;
   HIterator *fMetaMatchIter;
   HIterator *IterTof;
   HIterator *IterShower;
   HMdcTrackGFieldPar *field;
   HMdcTrackGCorrPar *corr;
   HMagnetPar *pMagnet;
   Float_t Momentum;
   Float_t errP,errMass2;
   HLocation sectorloc;
   void calcMomentum(HMdcSeg **,HMetaMatch2 *);
   void calcMomentum(HMdcSeg *segments[]);
   Bool_t doMassStuff(HMetaMatch2 *);
   void doMassStuff2(TString , HMetaMatch2 *); 
   void calcBeta(Float_t , Float_t , Float_t , Float_t );    
   Bool_t doMomentum(HMetaMatch2 *);
   Int_t firstCandIndex;
   Float_t fScal;
   Float_t qSpline;
   Int_t numChambers;
   
  
  
   Bool_t isSplinePar;
   Float_t xPoints[52];
   Float_t yPoints[52];
   Float_t zPoints[52];


public:
   HSplineTrack  *fillData(HMdcSeg *,Bool_t cond = kTRUE);
   
   HSplinePar  *fillParData();
   HSplineTrackF2(void);
   HSplineTrackF2(const Text_t name[],const Text_t title[]);
   ~HSplineTrackF2();
   Int_t  execute();
   Bool_t init();
   Bool_t reinit();
   Bool_t finalize();
   void   makeSplinePar();
   Short_t indRpc;
   Short_t indTof[3];
   Short_t indShower;
   Short_t indEmc;
  
   
private:   
   void setDef(void);
public:
   ClassDef(HSplineTrackF2,0)
      };
#endif

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