Ignore:
Timestamp:
03/02/03 16:55:47 (22 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Cosy/caos/Ring.cc

    r1798 r1802  
    2020        if (h1==0)
    2121        {
    22                 cout << "h1==0" <<endl;
    23                 return kFALSE;
     22            cout << "h1==0" <<endl;
     23            return kFALSE;
    2424        }
    2525    }
     
    3838    }
    3939
    40     Float_t w1 = leds(i).GetX() - leds(j).GetX();
    41     Float_t w2 = leds(j).GetX() - leds(k).GetX();
     40    const Float_t w1 = leds(i).GetX() - leds(j).GetX();
     41    const Float_t w2 = leds(j).GetX() - leds(k).GetX();
    4242
    43     Float_t m1 = -w1/h1;
    44     Float_t m2 = -w2/h2;
     43    const Float_t m1 = -w1/h1;
     44    const Float_t m2 = -w2/h2;
    4545
    4646    if (m2-m1==0)
    4747    {
    48         cout << "m2-m1==0" << endl;
     48        cout << "All three points in a row! (m2-m1==0)" << endl;
    4949        return kFALSE;
    5050    }
     
    6666    fR = 0;
    6767
     68    fDx=0;
     69    fDy=0;
     70    fDr=0;
     71
     72    if (n<1)
     73        return;
     74
    6875    for (int i=0; i<n; i++)
    6976    {
    70         const Ring &ring = *(Ring*)((Rings&)rings)[i];
     77        const Ring &ring = rings(i);
    7178
    7279        fX += ring.GetX();
     
    7986    fR /= n;
    8087
     88    if (n<2)
     89        return;
     90
    8191    //
    8292    // deviation of x- and y coordinate and radius
    8393    //
    84     Float_t sumx=0;
    85     Float_t sumy=0;
    86     Float_t sumr=0;
    87 
    8894    for (int i=0; i<n; i++)
    8995    {
    90         const Ring &ring = *(Ring*)((Rings&)rings)[i];
     96        const Ring &ring = rings(i);
    9197
    92         sumx += sqr(ring.GetX()-fX);
    93         sumy += sqr(ring.GetY()-fY);
    94         sumr += sqr(ring.GetR()-fR);
     98        fDx += sqr(ring.GetX()-fX);
     99        fDy += sqr(ring.GetY()-fY);
     100        fDr += sqr(ring.GetR()-fR);
    95101    }
    96102
    97         fDx=sqrt(sumx)/(n-1);
    98         fDy=sqrt(sumy)/(n-1);
    99         fDr=sqrt(sumr)/(n-1);
    100 
     103    fDx=sqrt(fDx)/(n-1);
     104    fDy=sqrt(fDy)/(n-1);
     105    fDr=sqrt(fDr)/(n-1);
    101106}
    102107
     108void Ring::Print(Option_t *o=NULL) const
     109{
     110    cout << "Ring: ";
     111    cout << "x="   << fX   << "+-" << fDx   << ", ";
     112    cout << "y="   << fY   << "+-" << fDy   << ", ";
     113    cout << "r="   << fR   << "+-" << fDr   << ", ";
     114    cout << "phi=" << fPhi << "+-" << fDphi << endl;
     115}
     116
Note: See TracChangeset for help on using the changeset viewer.