Minor correction before clean up for MDC
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALv0.h
index 239571a..daacf23 100644 (file)
 //*--                  
 //*-- Author: Yves Schutz (SUBATECH)
 //*-- and   : Sahal Yacoob (LBL / UCT) 
+//          : Aleksei Pavlinov (WSU)     SHASHLYK
 //#include <assert.h>
 
 // --- ROOT system ---
 
 class TFile;
+class TList;
+class TNode;
+class AliEMCALShishKebabTrd1Module;
 
 // --- AliRoot header files ---
 #include "AliEMCAL.h"
@@ -34,12 +38,8 @@ class AliEMCALv0 : public AliEMCAL {
   } 
   virtual ~AliEMCALv0(){} 
 
-  virtual void  AddHit( Int_t shunt, Int_t primary, Int_t track, 
-                       Int_t id, Float_t *hits ) {
-    // no hits - useless
-  }
-
   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   Init(void) ;                                       // does nothing
   virtual Int_t  IsVersion(void) const { 
@@ -51,15 +51,35 @@ class AliEMCALv0 : public AliEMCAL {
     return TString("v0") ; 
   }
   
-  AliEMCALv0 & operator = (const AliEMCALv0 & rvalue)  {
+  AliEMCALv0 & operator = (const AliEMCALv0 & /*rvalue*/)  {
     // assignement operator requested by coding convention but not needed
     Fatal("operator =", "not implemented") ;  
     return *this ; 
   }
+  // ShishKebab 
+  void CreateShishKebabGeometry();
+  void CreateSmod(const char* mother="XEN1");
+  void CreateEmod(const char* mother="SMOD", const char* child="EMOD");
+  // TRD1
+  void Trd1Tower3X3(const double parSCM0[5]);
+  void Trd1Tower4X4();
+  void PbInTrap(const double parTRAP[11], TString n);
+  // TRD2 - 1th design
+  void Scm0InTrd2(const AliEMCALGeometry * g, const Double_t parEMOD[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 parEMOD[5], Double_t parPBMO[5]);
+  void Division2X2InPbmo(const AliEMCALGeometry * g, const Double_t parPBMO[5]);
+
+  TList  *GetShishKebabModules() {return fShishKebabModules;}
+  AliEMCALShishKebabTrd1Module *GetShishKebabModule(const Int_t neta=0);
+ private:
+  TList *fShishKebabModules; //! list of modules for twist geometries
   
  protected:
 
-  ClassDef(AliEMCALv0,2)  // Implementation of EMCAL manager class for midrapidity barrel layout between 0 and 120 degrees 
+  ClassDef(AliEMCALv0,3)  // Implementation of EMCAL manager class for midrapidity barrel layout between 80 and 180(190) degrees 
     
     };