X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EMCAL%2FAliEMCALv0.h;h=9e88763db4ea88842eb5d64a91b67d91459c5932;hb=6951a056eecd2989486e4738d9761d4be899be43;hp=daacf23ce1ffff50f051e8a9dfec728b5349e978;hpb=c01485ddf8844bf0e8ec90070d2b90d5debdc751;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALv0.h b/EMCAL/AliEMCALv0.h index daacf23ce1f..9e88763db4e 100644 --- a/EMCAL/AliEMCALv0.h +++ b/EMCAL/AliEMCALv0.h @@ -7,40 +7,40 @@ //_________________________________________________________________________ // 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 -//#include // --- ROOT system --- 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(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") ; - } + AliEMCALv0(); + AliEMCALv0(const char *name, const char *title="",const Bool_t checkGeoAndRun = kTRUE) ; virtual ~AliEMCALv0(){} - virtual void BuildGeometry();// creates the geometry for the ROOT display - TNode *BuildGeometryOfWSUC(); // WSUC - test environment - virtual void CreateGeometry() ;// 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 @@ -50,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); + TList *GetShishKebabModules() const {return fShishKebabModules;} + AliEMCALShishKebabTrd1Module *GetShishKebabModule(Int_t neta=0); + + protected: + TList *fShishKebabModules; //! list of modules private: - TList *fShishKebabModules; //! list of modules for twist geometries + 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 - protected: - - 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 };