#ifndef ALIEMCALSHISHKEBABTRD1MODULE_H
#define ALIEMCALSHISHKEBABTRD1MODULE_H
#include <TNamed.h>
#include <TMath.h>
#include <TVector2.h>
class AliEMCALEMCGeometry;
class AliEMCALShishKebabTrd1Module : public TNamed {
public:
AliEMCALShishKebabTrd1Module(Double_t theta=0.0, AliEMCALEMCGeometry *g=0);
AliEMCALShishKebabTrd1Module(AliEMCALShishKebabTrd1Module &leftNeighbor);
void Init(Double_t A, Double_t B);
void DefineAllStaff();
AliEMCALShishKebabTrd1Module(const AliEMCALShishKebabTrd1Module& mod);
AliEMCALShishKebabTrd1Module & operator = (const AliEMCALShishKebabTrd1Module& ) {
Fatal("operator =", "not implemented") ;
return *this ;
}
virtual ~AliEMCALShishKebabTrd1Module(void) {}
Bool_t GetParameters();
void DefineName(Double_t theta);
void DefineFirstModule(const Int_t key=0);
Double_t GetTheta() const {return fTheta;}
TVector2& GetCenterOfModule() {return fOK;}
Double_t GetPosX() const {return fOK.Y();}
Double_t GetPosZ() const {return fOK.X();}
Double_t GetPosXfromR() const {return fOK.Y() - fgr;}
Double_t GetA() const {return fA;}
Double_t GetB() const {return fB;}
Double_t GetRadius() const {return fgr;}
TVector2 GetORB() const {return fORB;}
TVector2 GetORT() const {return fORT;}
TVector2& GetCenterOfCellInLocalCoordinateofSM(Int_t ieta)
{
if(ieta<=0) return fOK2;
else return fOK1;
}
void GetCenterOfCellInLocalCoordinateofSM(Int_t ieta, Double_t &xr, Double_t &zr, Int_t pri=0) const
{
if(ieta<=0) {xr = fOK2.Y(); zr = fOK2.X();
} else {xr = fOK1.Y(); zr = fOK1.X();
}
if(pri>0) printf(" %s ieta %2.2i xr %8.4f zr %8.4f \n", GetName(), ieta, xr, zr);
}
void GetCenterOfCellInLocalCoordinateofSM3X3(Int_t ieta, Double_t &xr, Double_t &zr) const
{
if(ieta < 0) ieta = 0;
if(ieta > 2) ieta = 2;
xr = fOK3X3[2-ieta].Y(); zr = fOK3X3[2-ieta].X();
}
void GetCenterOfCellInLocalCoordinateofSM1X1(Double_t &xr, Double_t &zr) const
{
xr = fOK.Y() - fgr;
zr = fOK.X();
}
TVector2& GetCenterOfModuleFace() {return fOB;}
TVector2& GetCenterOfModuleFace(Int_t ieta) {
if(ieta<=0) return fOB2;
else return fOB1;
}
void GetPositionAtCenterCellLine(Int_t ieta, Double_t dist, TVector2 &v);
Double_t GetTanBetta() const {return fgtanBetta;}
Double_t Getb() const {return fgb;}
void PrintShish(Int_t pri=1) const;
Double_t GetThetaInDegree() const;
Double_t GetEtaOfCenterOfModule() const;
Double_t GetMaxEtaOfModule(int pri=0) const;
static Double_t ThetaToEta(Double_t theta)
{return -TMath::Log(TMath::Tan(theta/2.));}
protected:
AliEMCALEMCGeometry *fGeometry;
static Double_t fga;
static Double_t fga2;
static Double_t fgb;
static Double_t fgangle;
static Double_t fgtanBetta;
static Double_t fgr;
TVector2 fOK;
Double_t fA;
Double_t fB;
Double_t fThetaA;
Double_t fTheta;
TVector2 fOK1;
TVector2 fOK2;
TVector2 fOB;
TVector2 fOB1;
TVector2 fOB2;
Double_t fThetaOB1;
Double_t fThetaOB2;
TVector2 fOK3X3[3];
TVector2 fORB;
TVector2 fORT;
ClassDef(AliEMCALShishKebabTrd1Module, 5)
};
#endif
AliEMCALShishKebabTrd1Module.h:1 AliEMCALShishKebabTrd1Module.h:2 AliEMCALShishKebabTrd1Module.h:3 AliEMCALShishKebabTrd1Module.h:4 AliEMCALShishKebabTrd1Module.h:5 AliEMCALShishKebabTrd1Module.h:6 AliEMCALShishKebabTrd1Module.h:7 AliEMCALShishKebabTrd1Module.h:8 AliEMCALShishKebabTrd1Module.h:9 AliEMCALShishKebabTrd1Module.h:10 AliEMCALShishKebabTrd1Module.h:11 AliEMCALShishKebabTrd1Module.h:12 AliEMCALShishKebabTrd1Module.h:13 AliEMCALShishKebabTrd1Module.h:14 AliEMCALShishKebabTrd1Module.h:15 AliEMCALShishKebabTrd1Module.h:16 AliEMCALShishKebabTrd1Module.h:17 AliEMCALShishKebabTrd1Module.h:18 AliEMCALShishKebabTrd1Module.h:19 AliEMCALShishKebabTrd1Module.h:20 AliEMCALShishKebabTrd1Module.h:21 AliEMCALShishKebabTrd1Module.h:22 AliEMCALShishKebabTrd1Module.h:23 AliEMCALShishKebabTrd1Module.h:24 AliEMCALShishKebabTrd1Module.h:25 AliEMCALShishKebabTrd1Module.h:26 AliEMCALShishKebabTrd1Module.h:27 AliEMCALShishKebabTrd1Module.h:28 AliEMCALShishKebabTrd1Module.h:29 AliEMCALShishKebabTrd1Module.h:30 AliEMCALShishKebabTrd1Module.h:31 AliEMCALShishKebabTrd1Module.h:32 AliEMCALShishKebabTrd1Module.h:33 AliEMCALShishKebabTrd1Module.h:34 AliEMCALShishKebabTrd1Module.h:35 AliEMCALShishKebabTrd1Module.h:36 AliEMCALShishKebabTrd1Module.h:37 AliEMCALShishKebabTrd1Module.h:38 AliEMCALShishKebabTrd1Module.h:39 AliEMCALShishKebabTrd1Module.h:40 AliEMCALShishKebabTrd1Module.h:41 AliEMCALShishKebabTrd1Module.h:42 AliEMCALShishKebabTrd1Module.h:43 AliEMCALShishKebabTrd1Module.h:44 AliEMCALShishKebabTrd1Module.h:45 AliEMCALShishKebabTrd1Module.h:46 AliEMCALShishKebabTrd1Module.h:47 AliEMCALShishKebabTrd1Module.h:48 AliEMCALShishKebabTrd1Module.h:49 AliEMCALShishKebabTrd1Module.h:50 AliEMCALShishKebabTrd1Module.h:51 AliEMCALShishKebabTrd1Module.h:52 AliEMCALShishKebabTrd1Module.h:53 AliEMCALShishKebabTrd1Module.h:54 AliEMCALShishKebabTrd1Module.h:55 AliEMCALShishKebabTrd1Module.h:56 AliEMCALShishKebabTrd1Module.h:57 AliEMCALShishKebabTrd1Module.h:58 AliEMCALShishKebabTrd1Module.h:59 AliEMCALShishKebabTrd1Module.h:60 AliEMCALShishKebabTrd1Module.h:61 AliEMCALShishKebabTrd1Module.h:62 AliEMCALShishKebabTrd1Module.h:63 AliEMCALShishKebabTrd1Module.h:64 AliEMCALShishKebabTrd1Module.h:65 AliEMCALShishKebabTrd1Module.h:66 AliEMCALShishKebabTrd1Module.h:67 AliEMCALShishKebabTrd1Module.h:68 AliEMCALShishKebabTrd1Module.h:69 AliEMCALShishKebabTrd1Module.h:70 AliEMCALShishKebabTrd1Module.h:71 AliEMCALShishKebabTrd1Module.h:72 AliEMCALShishKebabTrd1Module.h:73 AliEMCALShishKebabTrd1Module.h:74 AliEMCALShishKebabTrd1Module.h:75 AliEMCALShishKebabTrd1Module.h:76 AliEMCALShishKebabTrd1Module.h:77 AliEMCALShishKebabTrd1Module.h:78 AliEMCALShishKebabTrd1Module.h:79 AliEMCALShishKebabTrd1Module.h:80 AliEMCALShishKebabTrd1Module.h:81 AliEMCALShishKebabTrd1Module.h:82 AliEMCALShishKebabTrd1Module.h:83 AliEMCALShishKebabTrd1Module.h:84 AliEMCALShishKebabTrd1Module.h:85 AliEMCALShishKebabTrd1Module.h:86 AliEMCALShishKebabTrd1Module.h:87 AliEMCALShishKebabTrd1Module.h:88 AliEMCALShishKebabTrd1Module.h:89 AliEMCALShishKebabTrd1Module.h:90 AliEMCALShishKebabTrd1Module.h:91 AliEMCALShishKebabTrd1Module.h:92 AliEMCALShishKebabTrd1Module.h:93 AliEMCALShishKebabTrd1Module.h:94 AliEMCALShishKebabTrd1Module.h:95 AliEMCALShishKebabTrd1Module.h:96 AliEMCALShishKebabTrd1Module.h:97 AliEMCALShishKebabTrd1Module.h:98 AliEMCALShishKebabTrd1Module.h:99 AliEMCALShishKebabTrd1Module.h:100 AliEMCALShishKebabTrd1Module.h:101 AliEMCALShishKebabTrd1Module.h:102 AliEMCALShishKebabTrd1Module.h:103 AliEMCALShishKebabTrd1Module.h:104 AliEMCALShishKebabTrd1Module.h:105 AliEMCALShishKebabTrd1Module.h:106 AliEMCALShishKebabTrd1Module.h:107 AliEMCALShishKebabTrd1Module.h:108 AliEMCALShishKebabTrd1Module.h:109 AliEMCALShishKebabTrd1Module.h:110 AliEMCALShishKebabTrd1Module.h:111 AliEMCALShishKebabTrd1Module.h:112 AliEMCALShishKebabTrd1Module.h:113 AliEMCALShishKebabTrd1Module.h:114 AliEMCALShishKebabTrd1Module.h:115 AliEMCALShishKebabTrd1Module.h:116 AliEMCALShishKebabTrd1Module.h:117 AliEMCALShishKebabTrd1Module.h:118 AliEMCALShishKebabTrd1Module.h:119 AliEMCALShishKebabTrd1Module.h:120 AliEMCALShishKebabTrd1Module.h:121 AliEMCALShishKebabTrd1Module.h:122 AliEMCALShishKebabTrd1Module.h:123 AliEMCALShishKebabTrd1Module.h:124 AliEMCALShishKebabTrd1Module.h:125 AliEMCALShishKebabTrd1Module.h:126 AliEMCALShishKebabTrd1Module.h:127