X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EMCAL%2FAliEMCALv0.h;h=0279a6fbbd3aa1739021759d690ae540dfcd90c9;hb=2fbb77487e1fbb36b4c7a7bdd223e24e71095b84;hp=16c8aed92e35adfff6697d697d514de456d03252;hpb=2012850d9d6762abeef1d68d3a2049459a48501a;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALv0.h b/EMCAL/AliEMCALv0.h index 16c8aed92e3..0279a6fbbd3 100644 --- a/EMCAL/AliEMCALv0.h +++ b/EMCAL/AliEMCALv0.h @@ -7,52 +7,89 @@ //_________________________________________________________________________ // 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) - -#include +//*-- and : Sahal Yacoob (LBL / UCT) +// : Aleksei Pavlinov (WSU) SHASHLYK // --- ROOT system --- +class TFile; +class TList; +class AliEMCALShishKebabTrd1Module; +class AliEMCALSpaceFrame; + // --- AliRoot header files --- #include "AliEMCAL.h" -class AliEMCALGeometry ; +#include "TGeoManager.h" +#include class AliEMCALv0 : public AliEMCAL { public: - AliEMCALv0() {fGeom=0;} + AliEMCALv0(); AliEMCALv0(const char *name, const char *title="") ; - AliEMCALv0(const AliEMCALv0 & emcal) { - // cpy ctor: no implementation yet - // requested by the Coding Convention - assert(0==1) ; - } - virtual ~AliEMCALv0(void){} + virtual ~AliEMCALv0(){} - virtual void BuildGeometry(void) ; // creates the geometry for the ROOT display - virtual void CreateGeometry(void) ; // creates the geometry for GEANT + 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 { // Gives the version number return 0 ; } - virtual TString Version(void){ + virtual const TString Version(void) const{ // As above return TString("v0") ; } - - AliEMCALv0 & operator = (const AliEMCALv0 & rvalue) { - // assignement operator requested by coding convention but not needed - assert(0==1) ; - return *this ; - } - + // 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); + 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 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 emodPar[5], Double_t parPBMO[5]); + void Division2X2InPbmo(const AliEMCALGeometry * g, const Double_t parPBMO[5]); + + TList *GetShishKebabModules() const {return fShishKebabModules;} + AliEMCALShishKebabTrd1Module *GetShishKebabModule(Int_t neta=0); + protected: - - ClassDef(AliEMCALv0,1) // Implementation of EMCAL manager class for layout EMC+PPSD + 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 + + 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 };