X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EMCAL%2FAliEMCALv0.h;h=12f5de3f6ded1e43c5f8adcea03df37c032ea86d;hb=8f8a5b42c5a6de4d02ad94c1d5834eaf27aa951b;hp=e1297b3741a21ce5c31209aca32337cf782d0520;hpb=b13bbe81cd3f69746e33dd3e57b1ebe4e43ca29b;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALv0.h b/EMCAL/AliEMCALv0.h index e1297b3741a..12f5de3f6de 100644 --- a/EMCAL/AliEMCALv0.h +++ b/EMCAL/AliEMCALv0.h @@ -7,67 +7,82 @@ //_________________________________________________________________________ // 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) -//#include +// : 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():AliEMCAL() {} - AliEMCALv0(const char *name, const char *title="") ; - AliEMCALv0(const AliEMCALv0 & emcal) { - // cpy ctor: no implementation yet - // requested by the Coding Convention - abort() ; - } + AliEMCALv0(); + AliEMCALv0(const char *name, const char *title="",const Bool_t checkGeoAndRun = kTRUE) ; virtual ~AliEMCALv0(){} - virtual void AddHit( Int_t shunt, Int_t primary, Int_t track, - Int_t id, Float_t *hits ) { - // no hits - useless - } - - virtual void BuildGeometry();// creates the geometry for the ROOT display - virtual void CreateGeometry() ;// creates the geometry for GEANT - - virtual AliEMCALGeometry * GetGeometry() { - // gets the pointer to the AliEMCALGeometry unique instance - return fGeom ; - } - - + 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 - abort() ; - return *this ; - } - - protected: + // 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_t *parSCM0); + void PbInTrap(const Double_t parTRAP[11], TString n); + // 1X1 case - Nov 22, 2006 + void Trd1Tower1X1(Double_t *parSCM0); + void PbInTrd1(const Double_t *parTrd1, TString n); - ClassDef(AliEMCALv0,1) // Implementation of EMCAL manager class for layout EMC+PPSD + 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 fInnerEdge; //! Inner edge of DCAL 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 };