Changeset 100 in svn for trunk/src/BFieldProp.cc
- Timestamp:
- Dec 18, 2008, 2:39:26 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/BFieldProp.cc
r94 r100 25 25 //------------------------------------------------------------------------------ 26 26 27 TrackPropagation::TrackPropagation( ) {27 TrackPropagation::TrackPropagation(string DetDatacard) { 28 28 29 DET = new RESOLution(); 30 DET->ReadDataCard(DetDatacard); 29 31 MAXITERATION = 10000; 30 32 MINSEGLENGTH = 70; … … 43 45 44 46 //out of trackibg coverage? 45 if(sqrt(Xvertex1*Xvertex1+Yvertex1*Yvertex1) > TRACK_radius){return;}46 if(fabs(Zvertex1) > TRACK_length){return;}47 if(sqrt(Xvertex1*Xvertex1+Yvertex1*Yvertex1) > DET->TRACK_radius){return;} 48 if(fabs(Zvertex1) > DET->TRACK_length){return;} 47 49 48 50 float Px = Part->Px; … … 62 64 double vz = pz/M; 63 65 64 double Bx = TRACK_bfield_x;65 double By = TRACK_bfield_y;66 double Bz = TRACK_bfield_z;66 double Bx = DET->TRACK_bfield_x; 67 double By = DET->TRACK_bfield_y; 68 double Bz = DET->TRACK_bfield_z; 67 69 68 70 double ax = (q/M)*(Bz*vy - By*vz); … … 80 82 int k = 0; 81 83 84 double Radius=DET->TRACK_radius; 85 double Length=DET->TRACK_length; 86 82 87 while(k < MAXITERATION){ 83 88 k++; … … 99 104 z += vz*dt; 100 105 101 if( (x*x+y*y) > TRACK_radius*TRACK_radius ){ x /= (x*x+y*y)/(TRACK_radius*TRACK_radius); y /= (x*x+y*y)/(TRACK_radius*TRACK_radius); break;}102 if( fabs(z)> TRACK_length)break;106 if( (x*x+y*y) > Radius*Radius ){ x /= (x*x+y*y)/(Radius*Radius); y /= (x*x+y*y)/(Radius*Radius); break;} 107 if( fabs(z)>Length)break; 103 108 104 109 xold = x;
Note:
See TracChangeset
for help on using the changeset viewer.