#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.