]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCALv0.h
Possibility to compile with AliAnalysisGoodies (Yves)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALv0.h
CommitLineData
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
2012850d 14
15// --- ROOT system ---
16
b13bbe81 17class TFile;
1963b290 18class TList;
19class TNode;
c01485dd 20class AliEMCALShishKebabTrd1Module;
b13bbe81 21
2012850d 22// --- AliRoot header files ---
23#include "AliEMCAL.h"
5f66b6c6 24#include "TGeoManager.h"
cde6a23d 25#include <TArrayF.h>
b13bbe81 26//class AliEMCALGeometry ;
2012850d 27
28class AliEMCALv0 : public AliEMCAL {
29
30 public:
31
18a21c7c 32 AliEMCALv0();
2012850d 33 AliEMCALv0(const char *name, const char *title="") ;
b13bbe81 34 virtual ~AliEMCALv0(){}
35
4800667c 36 using AliEMCAL::AddHit;
37
5f66b6c6 38 virtual void AddAlignableVolumes() const;
39
b13bbe81 40 virtual void BuildGeometry();// creates the geometry for the ROOT display
1963b290 41 TNode *BuildGeometryOfWSUC(); // WSUC - test environment
b13bbe81 42 virtual void CreateGeometry() ;// creates the geometry for GEANT
2012850d 43 virtual void Init(void) ; // does nothing
44 virtual Int_t IsVersion(void) const {
45 // Gives the version number
46 return 0 ;
47 }
05a92d59 48 virtual const TString Version(void) const{
2012850d 49 // As above
50 return TString("v0") ;
51 }
52
1963b290 53 // ShishKebab
54 void CreateShishKebabGeometry();
55 void CreateSmod(const char* mother="XEN1");
56 void CreateEmod(const char* mother="SMOD", const char* child="EMOD");
57 // TRD1
d25f2c54 58 void Trd1Tower3X3(const double *parSCM0);
1963b290 59 void Trd1Tower4X4();
60 void PbInTrap(const double parTRAP[11], TString n);
d25f2c54 61 // 1X1 case - Nov 22, 2006
62 void Trd1Tower1X1(double *parSCM0);
63 void PbInTrd1(double *parTrd1, TString n);
1963b290 64 // TRD2 - 1th design
cde6a23d 65 void Scm0InTrd2(const AliEMCALGeometry * g, const Double_t emodPar[5], Double_t parSCM0[5]);
1963b290 66 void Division2X2InScm0(const AliEMCALGeometry * g, const Double_t parSCM0[5]);
67 void PbInTrapForTrd2(const double *parTRAP, TString name);
68 // TRD2 - 2th design
cde6a23d 69 void PbmoInTrd2(const AliEMCALGeometry * g, const Double_t emodPar[5], Double_t parPBMO[5]);
1963b290 70 void Division2X2InPbmo(const AliEMCALGeometry * g, const Double_t parPBMO[5]);
71
c01485dd 72 TList *GetShishKebabModules() {return fShishKebabModules;}
21cf2b24 73 AliEMCALShishKebabTrd1Module *GetShishKebabModule(Int_t neta=0);
cde6a23d 74
2012850d 75 protected:
cde6a23d 76 TList *fShishKebabModules; //! list of modules
77 private:
78 TArrayF fEnvelop1; //! parameters of EMCAL envelop for TRD1(2) case
79 Int_t fIdRotm; //! number of rotation matrix (working variable)
80 Int_t *fIdTmedArr; //! fIdtmed->GetArray() - 1599;
81 Double_t fSampleWidth; //! sample width = double(g->GetECPbRadThick()+g->GetECScintThick());
82 Double_t fSmodPar0; //! x size of super module
83 Double_t fSmodPar1; //! y size of super module
84 Double_t fSmodPar2; //! z size of super module
85 Double_t fParEMOD[5]; //! parameters of EMCAL module (TRD1,2)
b13bbe81 86
e939a978 87 AliEMCALv0(const AliEMCALv0 & emcal);
88 AliEMCALv0 & operator = (const AliEMCALv0 & /*rvalue*/);
89
c63c3c5d 90 ClassDef(AliEMCALv0,3) // Implementation of EMCAL manager class for midrapidity barrel layout between 80 and 180(190) degrees
2012850d 91
92 };
93
94#endif // AliEMCALV0_H