X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EMCAL%2FAliEMCALShishKebabModule.h;h=ffcd8a8dd9f9d3a3710e35480fc0247f756304eb;hb=3310f801347f6664710af4d2c1ba1090b80a31f9;hp=596e93a220aab1788961bc48fbcdd849dd2ed741;hpb=c63c3c5d365bcab29e17aca25ea8c04edc250e2d;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALShishKebabModule.h b/EMCAL/AliEMCALShishKebabModule.h index 596e93a220a..ffcd8a8dd9f 100644 --- a/EMCAL/AliEMCALShishKebabModule.h +++ b/EMCAL/AliEMCALShishKebabModule.h @@ -2,59 +2,70 @@ #define ALIEMCALSHISHKEBABMODULE_H /* Copyright(c) 1998-2004, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ + * See cxx source for full Copyright notice * + */ /* $Id$ */ -#include "TNamed.h" -#include "TMath.h" -#include "TVector2.h" + +//_________________________________________________________________________ +// Main class for "twist" geometry of Shish-Kebab case. +// Author: Aleksei Pavlinov(WSU). +// Sep 2004. + +#include +#include class AliEMCALGeometry; class AliEMCALShishKebabModule : public TNamed { public: - AliEMCALShishKebabModule(double theta=TMath::Pi()/2.); + AliEMCALShishKebabModule(); AliEMCALShishKebabModule(AliEMCALShishKebabModule &leftNeighbor); - void Init(double A, double B); + void Init(Double_t A, Double_t B); + AliEMCALShishKebabModule(const AliEMCALShishKebabModule& mod); + + AliEMCALShishKebabModule & operator = (const AliEMCALShishKebabModule& /*rvalue*/) { + Fatal("operator =", "not implemented") ; + return *this ; + } virtual ~AliEMCALShishKebabModule(void) {} Bool_t GetParameters(); - void DefineName(double theta); + void DefineName(Double_t theta); void DefineFirstModule(); void DefineSecondModuleFirstAssumption(); // need for testing Double_t Solve(Double_t (*fcn)(Double_t*, Double_t*), Double_t xmin=0., Double_t xmax=1., Int_t npar=0, Double_t *par=0, Double_t eps=1.0e-8, Int_t maxIter=1000); - static Double_t Y2(double *x, double *par); - static Double_t YALL(double *x, double *par); + static Double_t Y2(Double_t *x, Double_t *par); + static Double_t YALL(Double_t *x, Double_t *par); Double_t GetTheta() const {return fTheta;} - Double_t GetThetaInDegree() const {return fTheta*180./TMath::Pi();} + Double_t GetThetaInDegree() const; - Double_t GetPosX() {return fOK.Y();} - Double_t GetPosZ() {return fOK.X();} - Double_t GetPosXfromR() {return fOK.Y() - fgr;} - Double_t GetA() {return fA;} - Double_t GetB() {return fB;} + 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;} + // service methods + void PrintShish(Int_t pri=1) const; // *MENU* + protected: // geometry info static AliEMCALGeometry *fgGeometry; //! - static Double_t fga; // default 11.2cm - static Double_t fgb; // - // radius to IP - static Double_t fgr; + static Double_t fga; // x size of module; default 11.2cm + static Double_t fgb; // y size of module; + static Double_t fgr; // radius to IP TVector2 fOK; // position the module center x->y; z->x; - Double_t fA; // parameters of line = y = A*z + B - Double_t fB; // - // service methods - void PrintShish(int pri=1) const; // *MENU* - protected: - // size of SK module + Double_t fA; // parameters of line; y = A*z + B + Double_t fB; // parameters of line; y = A*z + B Double_t fTheta; // theta for SK module - ClassDef(AliEMCALShishKebabModule,0) // Turned Shish-Kebab module + //public: + ClassDef(AliEMCALShishKebabModule,1) // Turned Shish-Kebab module }; #endif