AliRoot Core  3dc7879 (3dc7879)
AliEMCALv0.h
Go to the documentation of this file.
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 //_________________________________________________________________________
26 //_________________________________________________________________________
27 
28 // --- ROOT system ---
29 class TFile;
30 class TList;
31 #include "TGeoManager.h"
32 #include <TArrayF.h>
33 
34 // --- AliRoot header files ---
36 class AliEMCALSpaceFrame;
37 #include "AliEMCAL.h"
38 
39 class AliEMCALv0 : public AliEMCAL
40 {
41 public:
42 
43  AliEMCALv0();
44  AliEMCALv0(const char *name, const char *title="",const Bool_t checkGeoAndRun = kTRUE) ;
45  virtual ~AliEMCALv0(){}
46 
47  using AliEMCAL::AddHit;
48 
49  virtual void AddAlignableVolumes() const;
50  virtual void AddAlignableVolumesInALICE() const;
51  virtual void AddAlignableVolumesInWSUC() const;
52 
53  virtual void CreateGeometry() ;// creates the geometry for GEANT
54  virtual void Init(void) ; // does nothing
55 
56  // Gives the version number
57  virtual Int_t IsVersion(void) const { return 0 ; }
58  virtual const TString Version(void) const { return TString("v0") ; }
59 
60  // ShishKebab
62  void CreateSmod(const char* mother="XEN1");
63  void CreateEmod(const char* mother="SMOD", const char* child="EMOD");
64  void CreateAlFrontPlate(const char* mother="EMOD", const char* child="ALFP");
65 
66  // TRD1
67  void Trd1Tower3X3(const Double_t *parSCM0);
68  void PbInTrap(const Double_t parTRAP[11], TString n);
69 
70  // 1X1 case - Nov 22, 2006
71  void Trd1Tower1X1(Double_t *parSCM0);
72  void PbInTrd1(const Double_t *parTrd1, TString n);
73 
74  TList *GetShishKebabModules() const {return fShishKebabModules;}
76 
77 protected:
78 
80 
81 private:
82 
83  TArrayF fEnvelop1;
84  Int_t fIdRotm;
85  Int_t *fIdTmedArr;
86 
87  Double_t fSampleWidth;
88  Double_t fSmodPar0;
89  Double_t fSmodPar1;
90  Double_t fSmodPar2;
91  Double_t fInnerEdge;
92  Double_t fParEMOD[5];
93 
95 
96  AliEMCALv0 (const AliEMCALv0 & emcal);
97  AliEMCALv0 & operator = (const AliEMCALv0 & /*rvalue*/);
98 
100  ClassDef(AliEMCALv0,4) ;
102 
103 };
104 
105 #endif // AliEMCALV0_H
virtual void Init(void)
Definition: AliEMCALv0.cxx:194
Double_t fSmodPar1
! y size of super module
Definition: AliEMCALv0.h:89
TList * fShishKebabModules
! list of modules
Definition: AliEMCALv0.h:79
Double_t fSmodPar2
! z size of super module
Definition: AliEMCALv0.h:90
Int_t * fIdTmedArr
! fIdtmed->GetArray() - 1599;
Definition: AliEMCALv0.h:85
virtual Int_t IsVersion(void) const
Definition: AliEMCALv0.h:57
void PbInTrap(const Double_t parTRAP[11], TString n)
Definition: AliEMCALv0.cxx:760
EMCal simulation manager class v0.
Definition: AliEMCALv0.h:39
virtual void AddAlignableVolumes() const
Add volumes which are alignable (?)
Definition: AliEMCALv0.cxx:875
Double_t fParEMOD[5]
! parameters of EMCAL module (TRD1,2)
Definition: AliEMCALv0.h:92
Int_t fIdRotm
! number of rotation matrix (working variable)
Definition: AliEMCALv0.h:84
virtual const TString Version(void) const
Definition: AliEMCALv0.h:58
Bool_t checkGeoAndRun
check or not the year to configure the detector
Definition: Config.C:97
Double_t fSmodPar0
! x size of super module
Definition: AliEMCALv0.h:88
void Trd1Tower1X1(Double_t *parSCM0)
Definition: AliEMCALv0.cxx:802
virtual void AddAlignableVolumesInALICE() const
Definition: AliEMCALv0.cxx:895
AliEMCALv0()
Default constructor.
Definition: AliEMCALv0.cxx:60
void CreateEmod(const char *mother="SMOD", const char *child="EMOD")
Generate module geometry (2x2 towers)
Definition: AliEMCALv0.cxx:558
TArrayF fEnvelop1
! parameters of EMCAL envelop for TRD1(2) case
Definition: AliEMCALv0.h:83
void CreateSmod(const char *mother="XEN1")
Generate super module geometry.
Definition: AliEMCALv0.cxx:399
Double_t fSampleWidth
! sample width = double(g->GetECPbRadThick()+g->GetECScintThick());
Definition: AliEMCALv0.h:87
AliEMCALShishKebabTrd1Module * GetShishKebabModule(Int_t neta=0)
Definition: AliEMCALv0.cxx:862
Base Class for EMCAL description.
Definition: AliEMCAL.h:35
Double_t fInnerEdge
! Inner edge of DCAL super module
Definition: AliEMCALv0.h:91
virtual void AddAlignableVolumesInWSUC() const
void Trd1Tower3X3(const Double_t *parSCM0)
Definition: AliEMCALv0.cxx:684
AliEMCALSpaceFrame * fCalFrame
EMCAL Space frame object.
Definition: AliEMCALv0.h:94
void PbInTrd1(const Double_t *parTrd1, TString n)
Definition: AliEMCALv0.cxx:831
void CreateAlFrontPlate(const char *mother="EMOD", const char *child="ALFP")
Generate aluminium plates geometry.
Definition: AliEMCALv0.cxx:660
void CreateShishKebabGeometry()
Generate tower geometry.
Definition: AliEMCALv0.cxx:226
virtual ~AliEMCALv0()
Definition: AliEMCALv0.h:45
virtual void CreateGeometry()
Definition: AliEMCALv0.cxx:110
virtual void AddHit(Int_t, Int_t *, Float_t *)
See in AliEMCALv2.
Definition: AliEMCAL.h:46
Space Frame implementation.
AliEMCALv0 & operator=(const AliEMCALv0 &)
Main class for TRD1 geometry of Shish-Kebab case.
TList * GetShishKebabModules() const
Definition: AliEMCALv0.h:74