compilation error fixed
[u/mrichter/AliRoot.git] / HLT / ITS / tracking / AliHLTITSDetector.h
1 // ************************************************************************
2 // This file is property of and copyright by the ALICE HLT Project        *
3 // ALICE Experiment at CERN, All rights reserved.                         *
4 // See cxx source for full Copyright notice                               *
5 //                                                                        *
6 //*************************************************************************
7
8 #ifndef ALIHLTITSDETECTOR_H
9 #define ALIHLTITSDETECTOR_H
10
11 #include "AliITSRecPoint.h"
12 #include "TMath.h"
13
14 class AliITSDetTypeRec;
15
16 /**
17  * @class AliHLTITSDetector
18  *
19  * The AliHLTTPCCAHit class is the internal representation
20  * of the TPC clusters for the AliHLTTPCCATracker algorithm.
21  *
22  */
23 class AliHLTITSDetector 
24
25  public:
26   AliHLTITSDetector():fR(0),fRmisal(0),fPhi(0),fSinPhi(0),fCosPhi(0),fYmin(0),fYmax(0),fZmin(0),fZmax(0){}
27   AliHLTITSDetector(Double_t r,Double_t phi):fR(r),fRmisal(r),fPhi(phi),fSinPhi(TMath::Sin(phi)),fCosPhi(TMath::Cos(phi)),fYmin(10000),fYmax(-1000),fZmin(10000),fZmax(-1000){}
28   ~AliHLTITSDetector() {}
29   inline void GetGlobalXYZ( const AliITSRecPoint *cl, Double_t xyz[3]) const;
30   Double_t GetR()   const {return fR;}
31   Double_t GetRmisal()   const {return fRmisal;}
32   Double_t GetPhi() const {return fPhi;}
33   Double_t GetYmin() const {return fYmin;}
34   Double_t GetYmax() const {return fYmax;}
35   Double_t GetZmin() const {return fZmin;}
36   Double_t GetZmax() const {return fZmax;}  
37   void SetRmisal(Double_t rmisal) {fRmisal = rmisal;}
38   void SetYmin(Double_t min) {fYmin = min;}
39   void SetYmax(Double_t max) {fYmax = max;}
40   void SetZmin(Double_t min) {fZmin = min;}
41   void SetZmax(Double_t max) {fZmax = max;}
42
43  private:
44
45   AliHLTITSDetector(const AliHLTITSDetector& det);
46   AliHLTITSDetector & operator=(const AliHLTITSDetector& det){
47     this->~AliHLTITSDetector();new(this) AliHLTITSDetector(det);
48     return *this;}
49   Double_t fR;    // polar coordinates: r 
50   Double_t fRmisal;    // polar coordinates: r, with misalignment 
51   Double_t fPhi;  // polar coordinates: phi
52   Double_t fSinPhi; // sin of phi;
53   Double_t fCosPhi; // cos of phi 
54   Double_t fYmin;   //  local y minimal
55   Double_t fYmax;   //  local max y
56   Double_t fZmin;   //  local z min
57   Double_t fZmax;   //  local z max  
58 };
59
60 inline void  AliHLTITSDetector::GetGlobalXYZ(const AliITSRecPoint *cl, Double_t xyz[3]) const
61 {
62   //
63   // get cluster coordinates in global cooordinate 
64   //
65   xyz[2] = cl->GetZ();
66   xyz[0] = fR*fCosPhi - cl->GetY()*fSinPhi;
67   xyz[1] = fR*fSinPhi + cl->GetY()*fCosPhi;
68 }
69
70 #endif