| #include "hmdctrackgspline.h" | 
HMdcTrackGSpline
class description - source file - inheritance tree (.pdf)
    private:
       void calcErrors(Double_t*)
       void clearParams()
       void fieldequation()
       void getcorrE(Int_t, Int_t, Int_t, Double_t&, Int_t)
       void getcorrP(Int_t, Int_t, Int_t, Double_t&, Int_t)
      Int_t getMomentum(Bool_t, Int_t)
       void getPoint()
       void getpoints()
       void init1()
       void initParams(Int_t, Int_t)
       void remove(Double_t*)
       void remove(HGeomVector*)
       void solveMomentum()
       void transFieldpoints()
       void transPhi()
       void transteta()
    public:
                             HMdcTrackGSpline(const char* name = "Spline", const char* title = "Spline")
                             HMdcTrackGSpline(const HMdcTrackGSpline&)
                             ~HMdcTrackGSpline()
                        void calcInter(Double_t, Double_t, Double_t, HGeomVector, HGeomVector, HGeomVector&)
                     Float_t calcIOMatching(HMdcSeg** segments)
                 HGeomVector calcKickIntersection(HMdcSeg*)
                        void calcKickIntersectionErr(HMdcSeg*, HGeomVector&, HGeomVector&)
                 HGeomVector calcMetaDir(HMdcSeg*, HGeomVector)
                    Double_t calcMomentum(HGeomVector*, Bool_t cond = kTRUE, Double_t targetz = 0., Int_t nch = 4)
                    Double_t calcMomentum(HMdcSeg** seg, Bool_t cond = kTRUE, Double_t targetz = 0.)
                    Double_t calcMomentum123(HMdcSeg** seg, Bool_t cond = kTRUE, Double_t targetz = 0.)
                    Double_t calcMomentum123P4(HMdcSeg** seg, Bool_t cond = kTRUE, Double_t targetz = 0.)
                        void calcSegPoints(HMdcSeg** seg, HGeomVector*)
                        void calcSegPoints(HGeomVector*, HMdcSeg* seg)
                        void calcSegPoints123(HMdcSeg** seg, HGeomVector*)
                        void calcSegPoints123P4(HMdcSeg** seg, HGeomVector*)
                     Float_t calcTarDist(HVertex&, HMdcSeg* SEG, HGeomTransform*)
                     Float_t calcTarDist(HGeomVector&, HGeomVector&, HGeomVector&)
                        void checkSecDer(Double_t*, Double_t*)
              static TClass* Class()
                    Double_t det3(Double_t** a)
                        void equationofLine(Double_t*, Double_t*, Double_t, Double_t&)
                        void equationofLine3D(HGeomVector, HGeomVector, Double_t, Double_t&, Double_t&)
                        void getDistance(Double_t*)
                    Double_t getDistField() const
                    Double_t getErrP()
                        void getField(Float_t*, Float_t*, Float_t*)
                    Double_t getFieldDistance()
                    Double_t getMetaDistance(Double_t, Double_t, Double_t)
                 HGeomVector getPointOne() const
                       Int_t getPolarity() const
                    Double_t getqSpline() const
                 HGeomVector getSegmentPoints()
                        void getXYpoint(Float_t*, Float_t*, Float_t*)
                        void initMiddleParams(HGeomVector)
                        void initMiddleParamsAll()
                        void initMiddleParamsP4(HGeomVector)
                        void initPlanes()
             virtual TClass* IsA() const
                        void mixPoints(HGeomVector&, HGeomVector&)
           HMdcTrackGSpline& operator=(const HMdcTrackGSpline&)
      HMdcTrackGCorrections* scanCorrections()
                        void setCorrPointer(HMdcTrackGCorrections* corr = 0)
                        void setCorrScan(HMdcTrackGCorrections** corr)
                        void setDataPointer(HMdcTrackGField* field = 0, HMdcTrackGCorrections* corr = 0)
                        void setF(HMdcTrackGField* field)
                        void setKickPointer(HKickPlane2* kickpointer = 0)
                        void setMagnetScaling(Float_t FScal)
                        void setZGlobal(Float_t _zGlobal)
                virtual void ShowMembers(TMemberInspector& insp, char* parent)
                        void SolveDiffEquation(HGeomVector*, HGeomVector*, Int_t, Float_t*, Float_t*)
                        void spline(HGeomVector*, Double_t*, Double_t*, Double_t*, Double_t*, Int_t)
                      Bool_t splineIsInitialized()
                      Bool_t splineKickIsInitialized()
                    Double_t SplineMinimize(HGeomVector*, HGeomVector*, Int_t size)
                virtual void Streamer(TBuffer& b)
                        void StreamerNVirtual(TBuffer& b)
                 HGeomVector takeMiddleParams(HMdcGetContainers*, Int_t, Int_t)
                       Int_t takeMiddleParams(HGeomTransform, Int_t, Int_t)
                        void transSpline(Double_t, Double_t, HGeomVector&, HGeomVector&)
                        void transSplineB(Double_t, Double_t, HGeomVector&, HGeomVector&)
                        void transSplineLocal(Double_t, Double_t, HGeomVector& in, HGeomVector& out)
    private:
                    Double_t pi                   
                    Double_t XX                   
                    Double_t YY                   
                    Double_t ZZ                   
                    Double_t XXdir                
                    Double_t YYdir                
                    Double_t ZZdir                
                    Double_t distfield            
                    Double_t errorY               
                       Int_t polarity             polarity of particle
                    Double_t target               targets z position in mm
                    Double_t A1                   
                    Double_t B1                   
                    Double_t D1                   
                    Double_t A2                   
                    Double_t B2                   
                    Double_t D2                   
                    Double_t A3                   
                    Double_t B3                   
                    Double_t D3                   
                    Double_t A4                   
                    Double_t B4                   
                    Double_t D4                   
                       Int_t N                    
                       Int_t N1                   
                       Int_t N2                   number of points in the field region
                HGeomVector* equationXY           
                   Double_t* x                    
                   Double_t* Bx                   
                   Double_t* By                   
                   Double_t* Bz                   Field components
                    Double_t phi                  
                    Double_t teta                 in radian
                   Double_t* XZ                   
                   Double_t* YZ                   
                   Double_t* XZP                  
                   Double_t* YZP                  parameters of spline fit
                   Double_t* FXZ                  
                   Double_t* FYZ                  
                   Double_t* FXZP                 
                   Double_t* FYZP                 parameters of spline fit
                   Double_t* dydz                 
                   Double_t* dxdz                 
                   Double_t* d2ydz                
                   Double_t* d2xdz                
                   Double_t* curv                 
                   Double_t* x2                   
                   Double_t* zz2                  
                   Double_t* z2                   
                   Double_t* y2                   
                    Double_t precon               
                    Double_t preconErr            reconstructed momentum
                    Double_t precon111            
                   Double_t* dist                 
                    Double_t metaDistance         
                    Double_t tetadig              
                    Double_t phidig               
                    Double_t phidigg              
                    Double_t teta2dig             
                    Double_t phi2dig              in degrees
            HMdcTrackGField* b                    
                HKickPlane2* kickplane            
      HMdcTrackGCorrections* c                    
      HMdcTrackGCorrections* corrScan[3]          
                HGeomVector* point                Intitial points from MDC's
                HGeomVector* fieldpoints          
                HGeomVector* secDer               
                HGeomVector* Tfieldpoints         
                HGeomVector* BB                   points selected in field region
                HGeomVector* field                field components 
                     Float_t fScal                
                      Bool_t isInitialized        ! if middle Plane params have been set =kTRUE
                      Bool_t isKickIsInitialized  
                    Double_t qSpline              
                    Double_t middleA              
                    Double_t middleB              
                    Double_t middleD              
                    Double_t middleA4             
                    Double_t middleB4             
                    Double_t middleD4             
                 HGeomVector SegmentPoints        
                     Float_t zGlobal              
                      Bool_t isSecDerY            
                 HGeomVector geomParams[6][4]     
                    Double_t middleGA[6][4]       
                    Double_t middleGB[6][4]       
                    Double_t middleGD[6][4]       
HMdcTrackGSpline calculates momentum of particle using spline interpolation
Input data are 4 points  from MDC chambers, OR the additional point from the
intersection of inner segment with kickPlane
  HMdcTrackGSpline(const char* name, const char * title):TNamed(name,title)
void initPlanes()
void initMiddleParamsAll()
void initMiddleParams(HGeomVector params)
void initMiddleParamsP4(HGeomVector paramsP4)
void initParams(Int_t N,Int_t NN)
void clearParams()
void remove(Double_t *pF)
void remove(HGeomVector *pGV)
 ~HMdcTrackGSpline() 
Double_t det3(Double_t a[3][3])
calculates determinant of size 3
void init1()
void transteta()
void transPhi()
void getPoint()
void transFieldpoints()
void spline(HGeomVector *p, Double_t *Y,Double_t *YP,
			      Double_t *X,Double_t *XP,Int_t size)
void getpoints()
Double_t getMetaDistance(Double_t x,Double_t y,Double_t z)
Double_t getFieldDistance()
void fieldequation()
void solveMomentum()
Int_t getMomentum(Bool_t cond,Int_t nchambers)
Double_t calcMomentum(HMdcSeg *seg[2],Bool_t condition,Double_t targ)
Double_t calcMomentum123(HMdcSeg *seg[2],Bool_t condition,Double_t targ)
Double_t calcMomentum123P4(HMdcSeg *seg[2],Bool_t condition,Double_t targ)
void calcSegPoints(HMdcSeg *SEG[2],HGeomVector *SEGPOINTS)
void calcSegPoints(HGeomVector *SEGPOINTS,HMdcSeg *SEG)
void calcErrors(Double_t *tr)
void calcSegPoints123(HMdcSeg *SEG[2],HGeomVector *SEGPOINTS)
void calcSegPoints123P4(HMdcSeg *SEG[2],HGeomVector *SEGPOINTS)
void getDistance(Double_t *distance)
Double_t calcMomentum(HGeomVector  *pp,Bool_t cond,Double_t targ,Int_t nchambers)
void getcorrE(Int_t k,Int_t i, Int_t j, Double_t & corr,Int_t nchambers)
void getcorrP(Int_t k,Int_t i, Int_t j, Double_t & corr,Int_t nchambers)
void setDataPointer(HMdcTrackGField* field,HMdcTrackGCorrections* corr)
void setCorrScan(HMdcTrackGCorrections* corr[])
void setCorrPointer(HMdcTrackGCorrections* corr)
void setKickPointer(HKickPlane2 *kickpointer)
void calcInter(Double_t A,Double_t B,Double_t D,HGeomVector in1,HGeomVector in2,HGeomVector &out)
void equationofLine(Double_t* xz1,Double_t *xz2,Double_t Z,Double_t &X)
void equationofLine3D(HGeomVector point1,HGeomVector point2,Double_t Z,Double_t &X,Double_t &Y)
HGeomVector calcMetaDir(HMdcSeg *segment, HGeomVector fTof)
HGeomVector calcKickIntersection(HMdcSeg *segment)
void calcKickIntersectionErr(HMdcSeg *segment,HGeomVector &kickIntersection,HGeomVector &kickErr)
void mixPoints(HGeomVector &in,HGeomVector &out)
void transSpline(Double_t phi,Double_t teta, HGeomVector &in,HGeomVector & out)
void transSplineB(Double_t phi,Double_t teta, HGeomVector &in,HGeomVector & out)
Double_t SplineMinimize(HGeomVector *eq,HGeomVector *fp,Int_t size)
HGeomVector takeMiddleParams(HMdcGetContainers *fGetCont,Int_t s,Int_t m)
Takes the parameters of middle plane
Int_t takeMiddleParams(HGeomTransform labTrMod, Int_t s,Int_t m)
Takes the parameters of middle plane
Float_t calcTarDist(HGeomVector &p1,HGeomVector &p2,HGeomVector &p3)
Float_t calcTarDist(HVertex &vertex,HMdcSeg *SEG,HGeomTransform *secLabTrans)
void SolveDiffEquation(HGeomVector *in,HGeomVector *out,Int_t size,Float_t *inXval,Float_t *inYval)
  void getXYpoint(Float_t *x,Float_t *y,Float_t *z)
  
void getField(Float_t *x,Float_t *y,Float_t *z)
void transSplineLocal(Double_t phi,Double_t teta, HGeomVector &in,HGeomVector & out)
HMdcTrackGCorrections* scanCorrections()
void checkSecDer(Double_t *der2, Double_t *der1)
Float_t calcIOMatching(HMdcSeg *segments[2])
Inline Functions
              HGeomVector getSegmentPoints()
                 Double_t getqSpline() const
                 Double_t getErrP()
                    Int_t getPolarity() const
                     void setMagnetScaling(Float_t FScal)
                 Double_t getDistField() const
              HGeomVector getPointOne() const
                     void setF(HMdcTrackGField* field)
                     void setZGlobal(Float_t _zGlobal)
                   Bool_t splineIsInitialized()
                   Bool_t splineKickIsInitialized()
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
         HMdcTrackGSpline HMdcTrackGSpline(const HMdcTrackGSpline&)
        HMdcTrackGSpline& operator=(const HMdcTrackGSpline&)
Last update: Fri Jan 26 12:17:40 2007
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.