Discard STAR type geometry before MDC
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALShishKebabModule.h
CommitLineData
1963b290 1#ifndef ALIEMCALSHISHKEBABMODULE_H
2#define ALIEMCALSHISHKEBABMODULE_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#include "TNamed.h"
9#include "TMath.h"
10#include "TVector2.h"
11
12class AliEMCALGeometry;
13
14class AliEMCALShishKebabModule : public TNamed {
15 public:
eb0b1051 16 AliEMCALShishKebabModule(double theta=TMath::Pi()/2.);
1963b290 17 AliEMCALShishKebabModule(AliEMCALShishKebabModule &leftNeighbor);
eb0b1051 18 void Init(double A, double B);
1963b290 19
20 virtual ~AliEMCALShishKebabModule(void) {}
21 Bool_t GetParameters();
eb0b1051 22 void DefineName(double theta);
1963b290 23 void DefineFirstModule();
24 void DefineSecondModuleFirstAssumption(); // need for testing
25
26 Double_t Solve(Double_t (*fcn)(Double_t*, Double_t*), Double_t xmin=0., Double_t xmax=1.,
27 Int_t npar=0, Double_t *par=0, Double_t eps=1.0e-8, Int_t maxIter=1000);
28
29 static Double_t Y2(double *x, double *par);
30 static Double_t YALL(double *x, double *par);
31
32 Double_t GetTheta() const {return fTheta;}
33 Double_t GetThetaInDegree() const {return fTheta*180./TMath::Pi();}
34
35 Double_t GetPosX() {return fOK.Y();}
36 Double_t GetPosZ() {return fOK.X();}
37 Double_t GetPosXfromR() {return fOK.Y() - fgr;}
38 Double_t GetA() {return fA;}
39 Double_t GetB() {return fB;}
40
41 // geometry info
42 static AliEMCALGeometry *fgGeometry; //!
43 static Double_t fga; // default 11.2cm
44 static Double_t fgb; //
45 // radius to IP
46 static Double_t fgr;
47
48 TVector2 fOK; // position the module center x->y; z->x;
49 Double_t fA; // parameters of line = y = A*z + B
50 Double_t fB; //
51 // service methods
c63c3c5d 52 void PrintShish(int pri=1) const; // *MENU*
1963b290 53 protected:
54 // size of SK module
55 Double_t fTheta; // theta for SK module
56
57 ClassDef(AliEMCALShishKebabModule,0) // Turned Shish-Kebab module
58};
59
60#endif
61/* To do
62 1. Insert position the center of towers - 2 additional TVector2
63 */