86ad65e94816af0ce96b1c2d52c271facfa17f1c
[u/mrichter/AliRoot.git] / RICH / AliRICHSegmentationV1.h
1 #ifndef AliRICHSegmentationV1_h
2 #define AliRICHSegmentationV1_h
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 #include "AliRICHSegmentationV0.h"
10 #include <Riostream.h>
11
12 class AliRICHSegmentationV1 : public AliRICHSegmentationV0 
13 {    
14 public:
15 // ctor $ dtor:      
16             AliRICHSegmentationV1();      // default ctor
17    virtual ~AliRICHSegmentationV1() {}    // dtor
18 // The following staff is defined in AliRICHSegmentation.cxx:
19    virtual void   Init(Int_t id); // Recalculates all the values after some of them have been changed
20
21    virtual Int_t  Sector(Float_t x, Float_t y);    // calculate sector from x-y coordinates
22
23    virtual void    GetPadI(Float_t x ,Float_t y ,Int_t   &ix,Int_t   &iy);         // Transform from pad to real coordinates
24    virtual void    GetPadI(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy)  {GetPadI(x, y, ix, iy);}
25     
26    virtual void    GetPadC(Int_t   ix,Int_t   iy,Float_t &x ,Float_t &y );    // Transform from real to pad coordinates
27    virtual void    GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z) {z=0; GetPadC(ix, iy, x , y);}
28     
29    virtual void IntegrationLimits (Float_t& x1, Float_t& x2, Float_t& y1, Float_t& y2);    // Current integration limits
30 // inline methods:
31    virtual Int_t  ISector() const{return fSector;}   // Get current sector
32    
33    inline virtual void Print(Option_t *option)const; // Prints debug information
34     
35 private:
36     ClassDef(AliRICHSegmentationV1,1)
37 };
38
39 inline void AliRICHSegmentationV1::Print(Option_t *option)const
40 {
41    TObject::Print();
42    cout<<"Pad width in cm:         "<<fDpx                 <<endl;
43    cout<<"Pad heights in cm:       "<<fDpy                 <<endl;
44    cout<<"Pad number along x:      "<<fNpx                 <<endl;
45    cout<<"Pad number along y:      "<<fNpy                 <<endl;
46    cout<<"Sector:                  "<<fSector              <<endl;
47    cout<<"Wire pitch:              "<<fWireD               <<endl; 
48    cout<<"Dead zone in cm:         "<<fDeadZone            <<endl;
49    cout<<"Pad plane width in cm:   "<<fPadPlane_Width      <<endl;
50    cout<<"Pad plane heights in cm: "<<fPadPlane_Length     <<endl;
51 }//void AliRICHSegmentationV1::Print(Option_t *option)const
52         
53 #endif//AliRICHSegmentationV1_h