]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/EMCALsim/AliEMCALv0.h
Update master to aliroot
[u/mrichter/AliRoot.git] / EMCAL / EMCALsim / 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
d804d556 10// An object of this class does not produce hits nor digits
11// It is the one to use if you do not want to produce outputs in TREEH or TREED
8cc543cb 12// This class places a Geometry of the EMCAL in the ALICE Detector as defined in AliEMCALGeometry.cxx
2012850d 13//*-- Author: Yves Schutz (SUBATECH)
b13bbe81 14//*-- and : Sahal Yacoob (LBL / UCT)
d87bd045 15// : Aleksei Pavlinov (WSU) SHASHLYK
2012850d 16
17// --- ROOT system ---
18
b13bbe81 19class TFile;
1963b290 20class TList;
c01485dd 21class AliEMCALShishKebabTrd1Module;
e3697737 22class AliEMCALSpaceFrame;
b13bbe81 23
2012850d 24// --- AliRoot header files ---
25#include "AliEMCAL.h"
5f66b6c6 26#include "TGeoManager.h"
cde6a23d 27#include <TArrayF.h>
2012850d 28
29class AliEMCALv0 : public AliEMCAL {
30
31 public:
32
18a21c7c 33 AliEMCALv0();
28135539 34 AliEMCALv0(const char *name, const char *title="",const Bool_t checkGeoAndRun = kTRUE) ;
b13bbe81 35 virtual ~AliEMCALv0(){}
36
4800667c 37 using AliEMCAL::AddHit;
38
c2ef87c2 39 virtual void AddAlignableVolumes() const;
40 virtual void AddAlignableVolumesInALICE() const;
41 virtual void AddAlignableVolumesInWSUC() const;
42
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 }
3d841a9f 53 // ShishKebab
1963b290 54 void CreateShishKebabGeometry();
55 void CreateSmod(const char* mother="XEN1");
56 void CreateEmod(const char* mother="SMOD", const char* child="EMOD");
3d841a9f 57 void CreateAlFrontPlate(const char* mother="EMOD", const char* child="ALFP");
1963b290 58 // TRD1
ff4af92f 59 void Trd1Tower3X3(const Double_t *parSCM0);
ff4af92f 60 void PbInTrap(const Double_t parTRAP[11], TString n);
d25f2c54 61 // 1X1 case - Nov 22, 2006
ff4af92f 62 void Trd1Tower1X1(Double_t *parSCM0);
63 void PbInTrd1(const Double_t *parTrd1, TString n);
1963b290 64
d804d556 65 TList *GetShishKebabModules() const {return fShishKebabModules;}
21cf2b24 66 AliEMCALShishKebabTrd1Module *GetShishKebabModule(Int_t neta=0);
cde6a23d 67
2012850d 68 protected:
cde6a23d 69 TList *fShishKebabModules; //! list of modules
70 private:
71 TArrayF fEnvelop1; //! parameters of EMCAL envelop for TRD1(2) case
72 Int_t fIdRotm; //! number of rotation matrix (working variable)
73 Int_t *fIdTmedArr; //! fIdtmed->GetArray() - 1599;
74 Double_t fSampleWidth; //! sample width = double(g->GetECPbRadThick()+g->GetECScintThick());
75 Double_t fSmodPar0; //! x size of super module
76 Double_t fSmodPar1; //! y size of super module
77 Double_t fSmodPar2; //! z size of super module
8cc543cb 78 Double_t fInnerEdge; //! Inner edge of DCAL super module
cde6a23d 79 Double_t fParEMOD[5]; //! parameters of EMCAL module (TRD1,2)
e3697737 80 AliEMCALSpaceFrame* fCalFrame; //EMCAL Space frame object
c2ef87c2 81
e939a978 82 AliEMCALv0(const AliEMCALv0 & emcal);
83 AliEMCALv0 & operator = (const AliEMCALv0 & /*rvalue*/);
84
e3697737 85 ClassDef(AliEMCALv0,4) // Implementation of EMCAL manager class for midrapidity barrel layout between 80 and 180(190) degrees
2012850d 86
87 };
88
89#endif // AliEMCALV0_H