3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice
8 //_________________________________________________________________________
9 // Implementation version v0 of EMCAL Manager class
11 //*-- Author: Yves Schutz (SUBATECH)
12 //*-- and : Sahal Yacoob (LBL / UCT)
13 // : Aleksei Pavlinov (WSU) SHASHLYK
15 // --- ROOT system ---
20 class AliEMCALShishKebabTrd1Module;
22 // --- AliRoot header files ---
24 #include "TGeoManager.h"
26 //class AliEMCALGeometry ;
28 class AliEMCALv0 : public AliEMCAL {
33 AliEMCALv0(const char *name, const char *title="") ;
34 virtual ~AliEMCALv0(){}
36 AliEMCALv0(const AliEMCALv0 & emcal);
38 AliEMCALv0 & operator = (const AliEMCALv0 & /*rvalue*/) {
39 // assignement operator requested by coding convention but not needed
40 Fatal("operator =", "not implemented");
44 using AliEMCAL::AddHit;
46 virtual void AddAlignableVolumes() const;
48 virtual void BuildGeometry();// creates the geometry for the ROOT display
49 TNode *BuildGeometryOfWSUC(); // WSUC - test environment
50 virtual void CreateGeometry() ;// creates the geometry for GEANT
51 virtual void Init(void) ; // does nothing
52 virtual Int_t IsVersion(void) const {
53 // Gives the version number
56 virtual const TString Version(void) const{
58 return TString("v0") ;
62 void CreateShishKebabGeometry();
63 void CreateSmod(const char* mother="XEN1");
64 void CreateEmod(const char* mother="SMOD", const char* child="EMOD");
66 void Trd1Tower3X3(const double parSCM0[5]);
68 void PbInTrap(const double parTRAP[11], TString n);
70 void Scm0InTrd2(const AliEMCALGeometry * g, const Double_t emodPar[5], Double_t parSCM0[5]);
71 void Division2X2InScm0(const AliEMCALGeometry * g, const Double_t parSCM0[5]);
72 void PbInTrapForTrd2(const double *parTRAP, TString name);
74 void PbmoInTrd2(const AliEMCALGeometry * g, const Double_t emodPar[5], Double_t parPBMO[5]);
75 void Division2X2InPbmo(const AliEMCALGeometry * g, const Double_t parPBMO[5]);
77 TList *GetShishKebabModules() {return fShishKebabModules;}
78 AliEMCALShishKebabTrd1Module *GetShishKebabModule(Int_t neta=0);
81 TList *fShishKebabModules; //! list of modules
83 TArrayF fEnvelop1; //! parameters of EMCAL envelop for TRD1(2) case
84 Int_t fIdRotm; //! number of rotation matrix (working variable)
85 Int_t *fIdTmedArr; //! fIdtmed->GetArray() - 1599;
86 Double_t fSampleWidth; //! sample width = double(g->GetECPbRadThick()+g->GetECScintThick());
87 Double_t fSmodPar0; //! x size of super module
88 Double_t fSmodPar1; //! y size of super module
89 Double_t fSmodPar2; //! z size of super module
90 Double_t fParEMOD[5]; //! parameters of EMCAL module (TRD1,2)
92 ClassDef(AliEMCALv0,3) // Implementation of EMCAL manager class for midrapidity barrel layout between 80 and 180(190) degrees
96 #endif // AliEMCALV0_H