]>
Commit | Line | Data |
---|---|---|
2012850d | 1 | #ifndef ALIEMCALV0_H |
2 | #define ALIEMCALV0_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice | |
5 | */ | |
6 | /* $Id$ */ | |
7 | ||
8 | //_________________________________________________________________________ | |
9 | // Implementation version v0 of EMCAL Manager class | |
10 | //*-- | |
11 | //*-- Author: Yves Schutz (SUBATECH) | |
b13bbe81 | 12 | //*-- and : Sahal Yacoob (LBL / UCT) |
d87bd045 | 13 | // : Aleksei Pavlinov (WSU) SHASHLYK |
b13bbe81 | 14 | //#include <assert.h> |
2012850d | 15 | |
16 | // --- ROOT system --- | |
17 | ||
b13bbe81 | 18 | class TFile; |
1963b290 | 19 | class TList; |
20 | class TNode; | |
c01485dd | 21 | class AliEMCALShishKebabTrd1Module; |
b13bbe81 | 22 | |
2012850d | 23 | // --- AliRoot header files --- |
24 | #include "AliEMCAL.h" | |
b13bbe81 | 25 | |
26 | //class AliEMCALGeometry ; | |
2012850d | 27 | |
28 | class AliEMCALv0 : public AliEMCAL { | |
29 | ||
30 | public: | |
31 | ||
b13bbe81 | 32 | AliEMCALv0():AliEMCAL() {} |
2012850d | 33 | AliEMCALv0(const char *name, const char *title="") ; |
f5dc24cb | 34 | AliEMCALv0(const AliEMCALv0 & emcal):AliEMCAL(emcal) { |
2012850d | 35 | // cpy ctor: no implementation yet |
36 | // requested by the Coding Convention | |
9859bfc0 | 37 | Fatal("cpy ctor", "not implemented") ; |
2012850d | 38 | } |
b13bbe81 | 39 | virtual ~AliEMCALv0(){} |
40 | ||
b13bbe81 | 41 | virtual void BuildGeometry();// creates the geometry for the ROOT display |
1963b290 | 42 | TNode *BuildGeometryOfWSUC(); // WSUC - test environment |
b13bbe81 | 43 | virtual void CreateGeometry() ;// creates the geometry for GEANT |
2012850d | 44 | virtual void Init(void) ; // does nothing |
45 | virtual Int_t IsVersion(void) const { | |
46 | // Gives the version number | |
47 | return 0 ; | |
48 | } | |
05a92d59 | 49 | virtual const TString Version(void) const{ |
2012850d | 50 | // As above |
51 | return TString("v0") ; | |
52 | } | |
53 | ||
9c0a4862 | 54 | AliEMCALv0 & operator = (const AliEMCALv0 & /*rvalue*/) { |
2012850d | 55 | // assignement operator requested by coding convention but not needed |
9859bfc0 | 56 | Fatal("operator =", "not implemented") ; |
2012850d | 57 | return *this ; |
58 | } | |
1963b290 | 59 | // ShishKebab |
60 | void CreateShishKebabGeometry(); | |
61 | void CreateSmod(const char* mother="XEN1"); | |
62 | void CreateEmod(const char* mother="SMOD", const char* child="EMOD"); | |
63 | // TRD1 | |
64 | void Trd1Tower3X3(const double parSCM0[5]); | |
65 | void Trd1Tower4X4(); | |
66 | void PbInTrap(const double parTRAP[11], TString n); | |
67 | // TRD2 - 1th design | |
68 | void Scm0InTrd2(const AliEMCALGeometry * g, const Double_t parEMOD[5], Double_t parSCM0[5]); | |
69 | void Division2X2InScm0(const AliEMCALGeometry * g, const Double_t parSCM0[5]); | |
70 | void PbInTrapForTrd2(const double *parTRAP, TString name); | |
71 | // TRD2 - 2th design | |
72 | void PbmoInTrd2(const AliEMCALGeometry * g, const Double_t parEMOD[5], Double_t parPBMO[5]); | |
73 | void Division2X2InPbmo(const AliEMCALGeometry * g, const Double_t parPBMO[5]); | |
74 | ||
c01485dd | 75 | TList *GetShishKebabModules() {return fShishKebabModules;} |
76 | AliEMCALShishKebabTrd1Module *GetShishKebabModule(const Int_t neta=0); | |
77 | private: | |
1963b290 | 78 | TList *fShishKebabModules; //! list of modules for twist geometries |
2012850d | 79 | |
80 | protected: | |
b13bbe81 | 81 | |
c01485dd | 82 | ClassDef(AliEMCALv0,3) // Implementation of EMCAL manager class for midrapidity barrel layout between 80 and 180(190) degrees |
2012850d | 83 | |
84 | }; | |
85 | ||
86 | #endif // AliEMCALV0_H |