]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PMD/AliPMDUtility.h
alignment data included to calculate the final position
[u/mrichter/AliRoot.git] / PMD / AliPMDUtility.h
... / ...
CommitLineData
1#ifndef ALIPMDUTILITY_H
2#define ALIPMDUTILITY_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5//-----------------------------------------------------//
6// //
7// //
8// Date : August 05 2003 //
9// //
10// Utility class for PMD //
11// //
12//-----------------------------------------------------//
13// Author - B.K. Nandi
14//
15#include "Rtypes.h"
16
17class TClonesArray;
18
19class AliPMDUtility:public TObject
20{
21 public:
22 AliPMDUtility();
23 AliPMDUtility(Float_t px, Float_t py, Float_t pz);
24 AliPMDUtility(const AliPMDUtility &pmdutil); // copy constructor
25 AliPMDUtility &operator=(const AliPMDUtility &pmdutil); // assignment op
26 virtual ~AliPMDUtility();
27
28
29 void RectGeomCellPos(Int_t ism, Int_t xpad, Int_t ypad,
30 Float_t & xpos, Float_t & ypos);
31 void RectGeomCellPos(Int_t ism, Float_t xpad, Float_t ypad,
32 Float_t & xpos, Float_t & ypos);
33
34 void RectGeomCellPos(Int_t ism, Float_t xpad, Float_t ypad,
35 Float_t & xpos, Float_t & ypos, Float_t & zpos);
36
37 void GenerateBoundaryPoints(Int_t ism, Float_t &x1ism, Float_t &y1ism
38 , Float_t &x2ism, Float_t &y2ism);
39
40 void DrawPMDModule(Int_t idet);
41
42 void ApplyVertexCorrection(Float_t vertex[],
43 Float_t xpos, Float_t ypos, Float_t zpos);
44 void ApplyAlignment();
45 void SetPxPyPz(Float_t px, Float_t py, Float_t pz);
46 void SetXYZ(Float_t xpos, Float_t ypos, Float_t zpos);
47 void SetWriteModule(Int_t wrmod);
48 void CalculateEta();
49 void CalculatePhi();
50 void CalculateEtaPhi();
51 void CalculateXY(Float_t eta, Float_t phi, Float_t zpos);
52 Float_t GetTheta() const;
53 Float_t GetEta() const;
54 Float_t GetPhi() const;
55 Float_t GetX() const;
56 Float_t GetY() const;
57 Float_t GetZ() const;
58
59 TClonesArray *GetAlignObj() const;
60
61
62
63 protected:
64
65 TClonesArray *fAlObj; // Alignable objects
66
67 Float_t fPx; // Momentum along x
68 Float_t fPy; // Momentum along y
69 Float_t fPz; // Momentum along z
70 Float_t fTheta; // Polar angle in radian
71 Float_t fEta; // Pseudo-rapidity
72 Float_t fPhi; // Azimuthal angle in radian
73 Float_t fSecTr[4][3]; // Sector alignement (translation)
74 Int_t fWriteModule; // Module number writing
75
76 ClassDef(AliPMDUtility,6) // Utility class for the detector set:PMD
77};
78
79#endif