X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EMCAL%2FAliEMCALv0.h;h=06f8d6146e22a7acd8d07f5bb71ab489fdff0e61;hb=7b580c2f3b569e8a83edf47f2b79d3199b567ae4;hp=39ef9d796347f1baf659d216a43e467e852caca3;hpb=c63c3c5d365bcab29e17aca25ea8c04edc250e2d;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALv0.h b/EMCAL/AliEMCALv0.h index 39ef9d79634..06f8d6146e2 100644 --- a/EMCAL/AliEMCALv0.h +++ b/EMCAL/AliEMCALv0.h @@ -7,7 +7,9 @@ //_________________________________________________________________________ // Implementation version v0 of EMCAL Manager class -//*-- +// An object of this class does not produce hits nor digits +// It is the one to use if you do not want to produce outputs in TREEH or TREED +// This class places a Geometry of the EMCAL in the ALICE Detector as defined in AliEMCALGeometry.cxx //*-- Author: Yves Schutz (SUBATECH) //*-- and : Sahal Yacoob (LBL / UCT) // : Aleksei Pavlinov (WSU) SHASHLYK @@ -16,29 +18,28 @@ class TFile; class TList; -class TNode; class AliEMCALShishKebabTrd1Module; +class AliEMCALSpaceFrame; // --- AliRoot header files --- #include "AliEMCAL.h" - -//class AliEMCALGeometry ; +#include "TGeoManager.h" +#include class AliEMCALv0 : public AliEMCAL { public: - AliEMCALv0():AliEMCAL() {} + AliEMCALv0(); AliEMCALv0(const char *name, const char *title="") ; - AliEMCALv0(const AliEMCALv0 & emcal):AliEMCAL(emcal) { - // cpy ctor: no implementation yet - // requested by the Coding Convention - Fatal("cpy ctor", "not implemented") ; - } virtual ~AliEMCALv0(){} - virtual void BuildGeometry();// creates the geometry for the ROOT display - TNode *BuildGeometryOfWSUC(); // WSUC - test environment + using AliEMCAL::AddHit; + + virtual void AddAlignableVolumes() const; + virtual void AddAlignableVolumesInALICE() const; + virtual void AddAlignableVolumesInWSUC() const; + virtual void CreateGeometry() ;// creates the geometry for GEANT virtual void Init(void) ; // does nothing virtual Int_t IsVersion(void) const { @@ -49,36 +50,46 @@ class AliEMCALv0 : public AliEMCAL { // As above return TString("v0") ; } - - AliEMCALv0 & operator = (const AliEMCALv0 & /*rvalue*/) { - // assignement operator requested by coding convention but not needed - Fatal("operator =", "not implemented") ; - return *this ; - } - // ShishKebab + // ShishKebab void CreateShishKebabGeometry(); void CreateSmod(const char* mother="XEN1"); void CreateEmod(const char* mother="SMOD", const char* child="EMOD"); + void CreateAlFrontPlate(const char* mother="EMOD", const char* child="ALFP"); // TRD1 - void Trd1Tower3X3(const double parSCM0[5]); - void Trd1Tower4X4(); + void Trd1Tower3X3(const double *parSCM0); + void Trd1Tower4X4() const; void PbInTrap(const double parTRAP[11], TString n); + // 1X1 case - Nov 22, 2006 + void Trd1Tower1X1(double *parSCM0); + void PbInTrd1(const double *parTrd1, TString n); // TRD2 - 1th design - void Scm0InTrd2(const AliEMCALGeometry * g, const Double_t parEMOD[5], Double_t parSCM0[5]); + void Scm0InTrd2(const AliEMCALGeometry * g, const Double_t emodPar[5], Double_t parSCM0[5]); void Division2X2InScm0(const AliEMCALGeometry * g, const Double_t parSCM0[5]); void PbInTrapForTrd2(const double *parTRAP, TString name); // TRD2 - 2th design - void PbmoInTrd2(const AliEMCALGeometry * g, const Double_t parEMOD[5], Double_t parPBMO[5]); + void PbmoInTrd2(const AliEMCALGeometry * g, const Double_t emodPar[5], Double_t parPBMO[5]); void Division2X2InPbmo(const AliEMCALGeometry * g, const Double_t parPBMO[5]); - TList *GetShishKebabModules() {return fShishKebabModules;} - AliEMCALShishKebabTrd1Module *GetShishKebabModule(const Int_t neta=0); - private: - TList *fShishKebabModules; //! list of modules - + TList *GetShishKebabModules() const {return fShishKebabModules;} + AliEMCALShishKebabTrd1Module *GetShishKebabModule(Int_t neta=0); + protected: + TList *fShishKebabModules; //! list of modules + private: + TArrayF fEnvelop1; //! parameters of EMCAL envelop for TRD1(2) case + Int_t fIdRotm; //! number of rotation matrix (working variable) + Int_t *fIdTmedArr; //! fIdtmed->GetArray() - 1599; + Double_t fSampleWidth; //! sample width = double(g->GetECPbRadThick()+g->GetECScintThick()); + Double_t fSmodPar0; //! x size of super module + Double_t fSmodPar1; //! y size of super module + Double_t fSmodPar2; //! z size of super module + Double_t fParEMOD[5]; //! parameters of EMCAL module (TRD1,2) + AliEMCALSpaceFrame* fCalFrame; //EMCAL Space frame object - ClassDef(AliEMCALv0,3) // Implementation of EMCAL manager class for midrapidity barrel layout between 80 and 180(190) degrees + AliEMCALv0(const AliEMCALv0 & emcal); + AliEMCALv0 & operator = (const AliEMCALv0 & /*rvalue*/); + + ClassDef(AliEMCALv0,4) // Implementation of EMCAL manager class for midrapidity barrel layout between 80 and 180(190) degrees };