| 71 | 
     void Dump(); | 
     void Dump(); | 
| 72 | 
     void Delete(); | 
     void Delete(); | 
| 73 | 
  | 
  | 
| 74 | 
     int DoTrack2(float* al); | 
     int DoTrack(float* al, float zini); | 
| 75 | 
  | 
     int DoTrack(float* al){ return DoTrack(al,23.5); }; | 
| 76 | 
  | 
  | 
| 77 | 
  | 
     int DoTrack2(float* al, float zini); | 
| 78 | 
  | 
     int DoTrack2(float* al){ return DoTrack2(al,23.5); }; | 
| 79 | 
  | 
  | 
| 80 | 
     float GetLength(){float l=0; for(int i=0; i<npoint;i++)l=l+tl[i]; return l;}; | 
     float GetLength(){float l=0; for(int i=0; i<npoint;i++)l=l+tl[i]; return l;}; | 
| 81 | 
     float GetLength(int,int); | 
     float GetLength(int,int); | 
| 82 | 
  | 
  | 
| 159 | 
     float BdL(){return 0;};                 ///< Evaluates the integral of B*dL along the track. | 
     float BdL(){return 0;};                 ///< Evaluates the integral of B*dL along the track. | 
| 160 | 
     Int_t GetNX(){Int_t n=0; for(Int_t i=0; i<6; i++)n+=(Int_t)XGood(i); return n;};  | 
     Int_t GetNX(){Int_t n=0; for(Int_t i=0; i<6; i++)n+=(Int_t)XGood(i); return n;};  | 
| 161 | 
     Int_t GetNY(){Int_t n=0; for(Int_t i=0; i<6; i++)n+=(Int_t)YGood(i); return n;}; | 
     Int_t GetNY(){Int_t n=0; for(Int_t i=0; i<6; i++)n+=(Int_t)YGood(i); return n;}; | 
| 162 | 
  | 
     Int_t GetNXY(){Int_t n=0; for(Int_t i=0; i<6; i++)n+=(Int_t)YGood(i)*XGood(i); return n;}; | 
| 163 | 
     Int_t GetNtot(){return GetNX()+GetNY();}; | 
     Int_t GetNtot(){return GetNX()+GetNY();}; | 
| 164 | 
     Float_t GetRigidity(); | 
     Float_t GetRigidity(); | 
| 165 | 
     Float_t GetDeflection(); | 
     Float_t GetDeflection(); | 
| 170 | 
     Float_t GetDEDX(); | 
     Float_t GetDEDX(); | 
| 171 | 
     Float_t GetDEDX(int ip); | 
     Float_t GetDEDX(int ip); | 
| 172 | 
     Float_t GetDEDX(int ip,int iv); | 
     Float_t GetDEDX(int ip,int iv); | 
| 173 | 
  | 
     Int_t GetLeverArmXY(); | 
| 174 | 
     Int_t GetLeverArmX(); | 
     Int_t GetLeverArmX(); | 
| 175 | 
     Int_t GetLeverArmY(); | 
     Int_t GetLeverArmY(); | 
| 176 | 
     Float_t GetChi2X(); | 
     Float_t GetChi2X(); | 
| 196 | 
  | 
  | 
| 197 | 
     Bool_t IsInsideCavity(float); | 
     Bool_t IsInsideCavity(float); | 
| 198 | 
     Bool_t IsInsideCavity(){ return IsInsideCavity(0.); }; | 
     Bool_t IsInsideCavity(){ return IsInsideCavity(0.); }; | 
| 199 | 
     Bool_t IsInsideAcceptance(); | 
     Bool_t IsInsideAcceptance(float); | 
| 200 | 
  | 
     Bool_t IsInsideAcceptance(){ return IsInsideAcceptance(0.); }; | 
| 201 | 
  | 
     Bool_t IsInsideGFSurface(const char*,float); | 
| 202 | 
  | 
     Bool_t IsInsideGFSurface(const char* surf){ return IsInsideGFSurface(surf,0.); }; | 
| 203 | 
  | 
  | 
| 204 | 
     Bool_t EvaluateClusterPositions(); | 
     Bool_t EvaluateClusterPositions(); | 
| 205 | 
  | 
  | 
| 212 | 
     Int_t GetSensor(int ip); | 
     Int_t GetSensor(int ip); | 
| 213 | 
     Bool_t XGood(int ip){ return GetClusterX_ID(ip)!=-1; }; | 
     Bool_t XGood(int ip){ return GetClusterX_ID(ip)!=-1; }; | 
| 214 | 
     Bool_t YGood(int ip){ return GetClusterY_ID(ip)!=-1; }; | 
     Bool_t YGood(int ip){ return GetClusterY_ID(ip)!=-1; }; | 
| 215 | 
     void ResetXGoo(int ip){ xgood[ip]=0; }; | 
     void ResetXGood(int ip){ xgood[ip]=0; }; | 
| 216 | 
     void ResetYGood(int ip){ ygood[ip]=0; }; | 
     void ResetYGood(int ip){ ygood[ip]=0; }; | 
| 217 | 
 /*     void SetXGood(int ip, int clid, int is); */ | 
 /*     void SetXGood(int ip, int clid, int is); */ | 
| 218 | 
 /*     void SetYGood(int ip, int clid, int is); */ | 
 /*     void SetYGood(int ip, int clid, int is); */ | 
| 326 | 
  * notation: | 
  * notation: | 
| 327 | 
  * | 
  * | 
| 328 | 
  * LSB --> 0 missing packet | 
  * LSB --> 0 missing packet | 
 | 
  * | 
  | 
| 329 | 
  *         1 CRC error | 
  *         1 CRC error | 
 | 
  * | 
  | 
| 330 | 
  *         2 on-line software alarm (latch-up, timeout ecc...) | 
  *         2 on-line software alarm (latch-up, timeout ecc...) | 
 | 
  * | 
  | 
| 331 | 
  *         3 jump in the trigger counter | 
  *         3 jump in the trigger counter | 
 | 
  * | 
  | 
| 332 | 
  *         4 decode error | 
  *         4 decode error | 
 | 
  * | 
  | 
| 333 | 
  *         5 n.clusters > maximum number (level1 processing) | 
  *         5 n.clusters > maximum number (level1 processing) | 
 | 
  * | 
  | 
| 334 | 
  *         6  | 
  *         6  | 
 | 
  * | 
  | 
| 335 | 
  *         7  | 
  *         7  | 
 | 
  * | 
  | 
| 336 | 
  *         8 n.clusters > maximum value (level2 processing) | 
  *         8 n.clusters > maximum value (level2 processing) | 
 | 
  * | 
  | 
| 337 | 
  *         9 n.couples per plane > maximum values (vector dimention) | 
  *         9 n.couples per plane > maximum values (vector dimention) | 
 | 
  * | 
  | 
| 338 | 
  *         10 n.doublets > maximum values | 
  *         10 n.doublets > maximum values | 
 | 
  * | 
  | 
| 339 | 
  *         11 n.triplets > maximum values | 
  *         11 n.triplets > maximum values | 
 | 
  * | 
  | 
| 340 | 
  *         12 n.yz-clouds > maximum values | 
  *         12 n.yz-clouds > maximum values | 
 | 
  * | 
  | 
| 341 | 
  *         13 n.xz-clouds > maximum values  | 
  *         13 n.xz-clouds > maximum values  | 
 | 
  * | 
  | 
| 342 | 
  *         14 n.candidate-tracks > maximum values | 
  *         14 n.candidate-tracks > maximum values | 
 | 
  * | 
  | 
| 343 | 
  *         15 n.couples per plane > maximum values (for Hough transform) | 
  *         15 n.couples per plane > maximum values (for Hough transform) | 
 | 
  * | 
  | 
| 344 | 
  * MSB --> 16  | 
  * MSB --> 16  | 
| 345 | 
  *          | 
  *          | 
| 346 | 
  * | 
  * | 
| 347 | 
  | 
  * For all data processed before June 2007 the event status was coded according to | 
| 348 | 
  | 
  * a different rule: | 
| 349 | 
  | 
  * | 
| 350 | 
  | 
  * Status of level1 processing | 
| 351 | 
  | 
  *  0 -- OK   | 
| 352 | 
  | 
  *  1 -- missing packet | 
| 353 | 
  | 
  *  2 -- 1  CRC error | 
| 354 | 
  | 
  *  3 -- 2 on-line software alarm (latch-up flags asserted or n.transmitted-words = 0) | 
| 355 | 
  | 
  *  4 -- 3 jump in the trigger counter | 
| 356 | 
  | 
  * 10 -- 4 decode error | 
| 357 | 
  | 
  * 11 -- 5  n.clusters > maximum number (for level1 processing) | 
| 358 | 
  | 
  * Status of level2 processing | 
| 359 | 
  | 
  * 21 -- 0 n.clusters > maximum value (for level2 processing) | 
| 360 | 
  | 
  * 22 -- 1 n.couples per plane > maximum values (vector dimention) | 
| 361 | 
  | 
  * 23 -- 2 n.doublets > maximum values  | 
| 362 | 
  | 
  * 24 -- 3 n.triplets > maximum values  | 
| 363 | 
  | 
  * 25 -- 4 n.yz-clouds > maximum values  | 
| 364 | 
  | 
  * 26 -- 5 n.xz-clouds > maximum values  | 
| 365 | 
  | 
  * 27 -- 6 n.candidate-tracks > maximum values  | 
| 366 | 
  | 
  * 28 -- 7 n.couples per plane > maximum values (for Hough transform) | 
| 367 | 
  *   | 
  *   | 
| 368 | 
  *  | 
  *  | 
| 369 | 
  */ | 
  */ | 
| 389 | 
     void Clear(Option_t *option){Clear();}; | 
     void Clear(Option_t *option){Clear();}; | 
| 390 | 
     void Delete(); | 
     void Delete(); | 
| 391 | 
     void Set(); | 
     void Set(); | 
| 392 | 
     int UnpackError(){ for(int i=0; i<12; i++)if(StatusCheck(i,0x12))return 1; return 0;}; | 
     int UnpackError(){ for(int i=0; i<12; i++)if(!StatusCheck(i,0x12))return 1; return 0;}; | 
| 393 | 
      | 
      | 
| 394 | 
     int ntrk() {return Track->GetEntries();}    ///< number of stored track | 
     int ntrk() {return Track->GetEntries();}    ///< number of stored track | 
| 395 | 
     int nclsx(){return SingletX->GetEntries();} ///< number of x singlets  | 
     int nclsx(){return SingletX->GetEntries();} ///< number of x singlets  |