]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALShishKebabTrd1Module.h
Removed loading non-existing library
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALShishKebabTrd1Module.h
1 #ifndef ALIEMCALSHISHKEBABTRD1MODULE_H
2 #define ALIEMCALSHISHKEBABTRD1MODULE_H
3
4 /* Copyright(c) 1998-2004, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8 //*-- Author: Aleksei Pavlinov (WSU)
9 // TO DO : create class for Super module Geometry - 4-nov-04 
10
11 #include "TNamed.h"
12 #include "TMath.h"
13 #include "TVector2.h"
14
15 class AliEMCALGeometry;
16
17 class AliEMCALShishKebabTrd1Module : public TNamed {
18  public:
19   AliEMCALShishKebabTrd1Module(double theta=TMath::Pi()/2., AliEMCALGeometry *g=0);
20   AliEMCALShishKebabTrd1Module(AliEMCALShishKebabTrd1Module &leftNeighbor);
21   void Init(double A, double B);
22
23   virtual ~AliEMCALShishKebabTrd1Module(void) {}
24   Bool_t GetParameters();
25   void DefineName(double theta);
26   void DefineFirstModule();
27
28   Double_t GetTheta() const{return fTheta;}
29   Double_t GetThetaInDegree() const {return fTheta*180./TMath::Pi();}
30   TVector2& GetCenterOfModule() {return fOK;}
31   Double_t  GetEtaOfCenterOfModule(){return -TMath::Log(TMath::Tan(fOK.Phi()/2.));}
32
33   Double_t  GetPosX() {return fOK.Y();}
34   Double_t  GetPosZ() {return fOK.X();}
35   Double_t  GetPosXfromR() {return fOK.Y() - fgr;}
36   Double_t  GetA() {return fA;}
37   Double_t  GetB() {return fB;}
38   //  Additional offline staff 
39   TVector2& GetCenterOfCellInLocalCoordinateofSM(Int_t ieta)
40   { if(ieta<=1) return fOK2;
41     else        return fOK1;}
42   void GetCenterOfCellInLocalCoordinateofSM(Int_t ieta, Double_t &xr, Double_t &zr)
43   { 
44     if(ieta<=1) {xr = fOK2.Y(); zr = fOK2.X();
45     } else      {xr = fOK1.Y(); zr = fOK1.X();
46     }
47   }
48   // 
49   Double_t GetTanBetta() {return fgtanBetta;}
50   Double_t Getb()        {return fgb;}
51   // service methods
52   void PrintShish(int pri=1) const;  // *MENU*
53
54   // geometry info
55   static AliEMCALGeometry *fgGeometry; //!
56   static Double_t fga;        // 2*dx1=2*dy1
57   static Double_t fga2;       // 2*dx2
58   static Double_t fgb;        // 2*dz1
59   static Double_t fgangle;    // ~1 degree
60   static Double_t fgtanBetta; // tan(fgangle/2.)
61   // radius to IP
62   static Double_t fgr;
63
64  protected:
65   TVector2 fOK;     // position the module center x->y; z->x;
66   Double_t fA;      // parameters of right line : y = A*z + B
67   Double_t fB;      // system where zero point is IP.
68   Double_t fThetaA; // angle coresponding fA - for convinience
69   Double_t fTheta;  // theta angle of perependicular to SK module
70   // position of towers(cells) with differents ieta (1 or 2) in local coordinate of SM
71   // Nov 04,2004; Feb 19,2006 
72   TVector2 fOK1; // ieta=2
73   TVector2 fOK2; // ieta=1
74
75  public:
76   ClassDef(AliEMCALShishKebabTrd1Module,0) // Turned Shish-Kebab module 
77 };
78
79 #endif