00001 {
00002
00003 double qwe = 1./sqrt(3.);
00004 double h = 0.000000000004;
00005 StThreeVectorD p(1.,1.,1.);
00006 StThreeVectorD o(-qwe,-qwe,-qwe);
00007 StPhysicalHelixD hlx(p,o,h,1.);
00008 StThreeVectorD r(qwe,qwe,qwe);
00009 StThreeVectorD n(qwe,qwe,qwe);
00010
00011 double path = hlx.pathLength(r,n);
00012 printf("IhPath = %f\n",path);
00013
00014 double xyz[3];
00015 xyz[0]=o.x()*100;
00016 xyz[1]=o.y()*100;
00017 xyz[2]=o.z()*100;
00018 double dir[3];
00019 dir[0]=p.x();
00020 dir[1]=p.y();
00021 dir[2]=p.z();
00022 double rho = hlx.curvature();
00023 if (rho) printf("Rho,Rad = %f %f\n",rho,1./rho);
00024 rho /=100;
00025 double surf[4];
00026 surf[0] = - r*n*100;
00027 surf[1] = n.x();
00028 surf[2] = n.y();
00029 surf[3] = n.z();
00030
00031 THelixTrack myHlx(xyz,dir,rho,0);
00032 path = myHlx.Step(1.e+10, surf, 4);
00033 printf("MyPath = %f\n",path/100);
00034
00035
00036
00037 }
00038