]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALv0.h
Merge remote-tracking branch 'origin/master' into mergingFlat
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALv0.h
index a4c932615c7397b0e7c0c35f25201a560d78b6e2..12f5de3f6ded1e43c5f8adcea03df37c032ea86d 100644 (file)
@@ -7,7 +7,9 @@
 
 //_________________________________________________________________________
 // Implementation version v0 of EMCAL Manager class 
-//*--                  
+// An object of this class does not produce hits nor digits
+// It is the one to use if you do not want to produce outputs in TREEH or TREED
+// This class places a Geometry of the EMCAL in the ALICE Detector as defined in AliEMCALGeometry.cxx
 //*-- Author: Yves Schutz (SUBATECH)
 //*-- and   : Sahal Yacoob (LBL / UCT) 
 //          : Aleksei Pavlinov (WSU)     SHASHLYK
@@ -16,7 +18,6 @@
 
 class TFile;
 class TList;
-class TNode;
 class AliEMCALShishKebabTrd1Module;
 class AliEMCALSpaceFrame;
 
@@ -30,18 +31,16 @@ class AliEMCALv0 : public AliEMCAL {
  public:
 
   AliEMCALv0();
-  AliEMCALv0(const char *name, const char *title="") ;
+  AliEMCALv0(const char *name, const char *title="",const Bool_t checkGeoAndRun = kTRUE) ;
   virtual ~AliEMCALv0(){} 
 
   using AliEMCAL::AddHit;
 
-  virtual void  AddAlignableVolumes() const;
-  virtual void  AddAlignableVolumesInALICE() const;
-  virtual void  AddAlignableVolumesInWSUC() const;
-
-  virtual void BuildGeometry();// creates the geometry for the ROOT display
-  TNode *BuildGeometryOfWSUC();  // WSUC - test environment
-  virtual void CreateGeometry() ;// creates the geometry for GEANT
+  virtual void   AddAlignableVolumes()        const;
+  virtual void   AddAlignableVolumesInALICE() const;
+  virtual void   AddAlignableVolumesInWSUC()  const;
+  
+  virtual void   CreateGeometry() ;// creates the geometry for GEANT
   virtual void   Init(void) ;                                       // does nothing
   virtual Int_t  IsVersion(void) const { 
     // Gives the version number 
@@ -51,27 +50,19 @@ class AliEMCALv0 : public AliEMCAL {
     // As above
     return TString("v0") ; 
   }
-  
-  // ShishKebab 
+    // ShishKebab 
   void CreateShishKebabGeometry();
   void CreateSmod(const char* mother="XEN1");
   void CreateEmod(const char* mother="SMOD", const char* child="EMOD");
+  void CreateAlFrontPlate(const char* mother="EMOD", const char* child="ALFP");
   // TRD1
-  void Trd1Tower3X3(const double *parSCM0);
-  void Trd1Tower4X4();
-  void PbInTrap(const double parTRAP[11], TString n);
+  void Trd1Tower3X3(const Double_t *parSCM0);
+  void PbInTrap(const Double_t parTRAP[11], TString n);
   // 1X1 case - Nov 22, 2006
-  void Trd1Tower1X1(double *parSCM0);
-  void PbInTrd1(double *parTrd1, TString n);
-  // TRD2 - 1th design
-  void Scm0InTrd2(const AliEMCALGeometry * g, const Double_t emodPar[5], Double_t parSCM0[5]);
-  void Division2X2InScm0(const AliEMCALGeometry * g, const Double_t parSCM0[5]);
-  void PbInTrapForTrd2(const double *parTRAP, TString name);
-  // TRD2 - 2th design
-  void PbmoInTrd2(const AliEMCALGeometry * g, const Double_t emodPar[5], Double_t parPBMO[5]);
-  void Division2X2InPbmo(const AliEMCALGeometry * g, const Double_t parPBMO[5]);
+  void Trd1Tower1X1(Double_t *parSCM0);
+  void PbInTrd1(const Double_t *parTrd1, TString n);
 
-  TList  *GetShishKebabModules() {return fShishKebabModules;}
+  TList  *GetShishKebabModules() const {return fShishKebabModules;}
   AliEMCALShishKebabTrd1Module *GetShishKebabModule(Int_t neta=0);
 
  protected:
@@ -84,9 +75,10 @@ class AliEMCALv0 : public AliEMCAL {
   Double_t fSmodPar0;          //! x size of super module  
   Double_t fSmodPar1;          //! y size of super module  
   Double_t fSmodPar2;          //! z size of super module  
+  Double_t fInnerEdge;         //! Inner edge of DCAL super module 
   Double_t fParEMOD[5];        //! parameters of EMCAL module (TRD1,2)
   AliEMCALSpaceFrame* fCalFrame; //EMCAL Space frame object
-
+  
   AliEMCALv0(const AliEMCALv0 & emcal);
   AliEMCALv0 & operator = (const AliEMCALv0  & /*rvalue*/);