#include "hmdctrackgspline.h"

HMdcTrackGSpline


class description - source file - inheritance tree (.pdf)

class HMdcTrackGSpline : public TNamed

Inheritance Chart:
TObject
<-
TNamed
<-
HMdcTrackGSpline
    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)

Data Members

    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]

Class Description

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.