Line data Source code
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 0 : AliHLTITSDetector():fR(0),fRmisal(0),fPhi(0),fSinPhi(0),fCosPhi(0),fYmin(0),fYmax(0),fZmin(0),fZmax(0){}
27 0 : 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 0 : ~AliHLTITSDetector() {}
29 : inline void GetGlobalXYZ( const AliITSRecPoint *cl, Double_t xyz[3]) const;
30 0 : Double_t GetR() const {return fR;}
31 0 : Double_t GetRmisal() const {return fRmisal;}
32 0 : Double_t GetPhi() const {return fPhi;}
33 0 : Double_t GetYmin() const {return fYmin;}
34 0 : Double_t GetYmax() const {return fYmax;}
35 0 : Double_t GetZmin() const {return fZmin;}
36 0 : Double_t GetZmax() const {return fZmax;}
37 0 : void SetRmisal(Double_t rmisal) {fRmisal = rmisal;}
38 0 : void SetYmin(Double_t min) {fYmin = min;}
39 0 : void SetYmax(Double_t max) {fYmax = max;}
40 0 : void SetZmin(Double_t min) {fZmin = min;}
41 0 : 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 0 : xyz[2] = cl->GetZ();
66 0 : xyz[0] = fR*fCosPhi - cl->GetY()*fSinPhi;
67 0 : xyz[1] = fR*fSinPhi + cl->GetY()*fCosPhi;
68 0 : }
69 :
70 : #endif
|