Preprocessor modified not to send the correct gain file
[u/mrichter/AliRoot.git] / PMD / AliPMDUtility.h
CommitLineData
a918d77a 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 */
638f6e9b 5//-----------------------------------------------------//
6// //
7// //
8// Date : August 05 2003 //
9// //
10// Utility class for PMD //
11// //
12//-----------------------------------------------------//
5d35baec 13// Author - B.K. Nandi
14//
638f6e9b 15#include "Rtypes.h"
638f6e9b 16class AliPMDUtility
17{
638f6e9b 18 public:
19 AliPMDUtility();
a918d77a 20 AliPMDUtility(Float_t px, Float_t py, Float_t pz);
5d35baec 21 AliPMDUtility(const AliPMDUtility &pmdutil); // copy constructor
22 AliPMDUtility &operator=(const AliPMDUtility &pmdutil); // assignment op
638f6e9b 23 virtual ~AliPMDUtility();
afb8e3a0 24
5d35baec 25
01c4d84a 26 void RectGeomCellPos(Int_t ism, Int_t xpad, Int_t ypad,
a918d77a 27 Float_t & xpos, Float_t & ypos);
01c4d84a 28 void RectGeomCellPos(Int_t ism, Float_t xpad, Float_t ypad,
a918d77a 29 Float_t & xpos, Float_t & ypos);
2c08d1c1 30
31 void GenerateBoundaryPoints(Int_t ism, Float_t &x1ism, Float_t &y1ism
32 , Float_t &x2ism, Float_t &y2ism);
33
27f6261d 34 void DrawPMDModule(Int_t idet);
2c08d1c1 35
5d35baec 36 void ApplyVertexCorrection(Float_t vertex[],
37 Float_t xpos, Float_t ypos, Float_t zpos);
38 void ApplyAlignment();
a918d77a 39 void SetPxPyPz(Float_t px, Float_t py, Float_t pz);
40 void SetXYZ(Float_t xpos, Float_t ypos, Float_t zpos);
2c08d1c1 41 void SetWriteModule(Int_t wrmod);
638f6e9b 42 void CalculateEta();
43 void CalculatePhi();
44 void CalculateEtaPhi();
5d35baec 45 void CalculateXY(Float_t eta, Float_t phi, Float_t zpos);
638f6e9b 46 Float_t GetTheta() const;
47 Float_t GetEta() const;
48 Float_t GetPhi() const;
5d35baec 49 Float_t GetX() const;
50 Float_t GetY() const;
51 Float_t GetZ() const;
638f6e9b 52
a918d77a 53 protected:
54 Float_t fPx; // Momentum along x
55 Float_t fPy; // Momentum along y
56 Float_t fPz; // Momentum along z
57 Float_t fTheta; // Polar angle in radian
58 Float_t fEta; // Pseudo-rapidity
59 Float_t fPhi; // Azimuthal angle in radian
2c08d1c1 60 Int_t fWriteModule; // Module number writing
a918d77a 61
27f6261d 62 ClassDef(AliPMDUtility,5) // Utility class for the detector set:PMD
638f6e9b 63};
64
65#endif