]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11Hybrid.h
Major upgrade (P. Cerello)
[u/mrichter/AliRoot.git] / ITS / AliITSv11Hybrid.h
index b158173082b364537e110953f8b8e361475b08a8..e5471b7dfbb8726d93fa2c2d617bf0ef8537861d 100644 (file)
 // $Id$
 
 // $Log$
+// Revision 1.7  2007/12/17 14:48:24  masera
+// Thermal shield between SPD and SDD (M. Sitta)
+//
+// Revision 1.6  2007/10/21 19:22:53  masera
+// Coding conventions
+//
+// Revision 1.5  2007/08/24 14:32:57  hristov
+// Introduction of SPD half-stave volumes, cleaning and new code (in relation to new SPD geometry) in AliITSv11Hybrid (Ludovic)
+//
 // Revision 1.4  2007/06/28 10:17:25  masera
 // Introduction of the new SSD geometry in simulation (AliITSv11Hybrid) and suppression of overlaps between old and new parts
 //
@@ -32,6 +41,7 @@
 class  AliITSv11GeometrySPD;
 class  AliITSv11GeometrySDD;
 class  AliITSv11GeometrySSD;
+class  AliITSv11GeometrySupport;
 
 class AliITSv11Hybrid : public AliITS {
 
@@ -121,13 +131,27 @@ class AliITSv11Hybrid : public AliITS {
 
  protected:
     void CreateOldGeometry();
-    void SetT2Lmatrix(const char *name, Double_t yShift,
+    void SetT2Lmatrix(Int_t uid, Double_t yShift,
                      Bool_t yFlip, Bool_t yRot180=kFALSE) const; // Set T2L matrix in TGeoPNEntries
+    void CreateSPDThermalShield(TGeoVolume *moth);
+    TGeoVolumeAssembly *CreateSPDThermalShieldAssembly(const char *name,
+                  Double_t innerA, Double_t innerB, Double_t innerRadius,
+                  Double_t outerA, Double_t outerB, Double_t outerRadius,
+                  Double_t halflength, Double_t thickness,
+                  Double_t thicknessOmega, Double_t theta);
+    void SPDThermalShape(Double_t a, Double_t b, Double_t r, Double_t d,
+                        Double_t t, Double_t *x, Double_t *y);
+    void SPDOmegaShape(Double_t ina, Double_t inb, Double_t inr,
+                      Double_t oua, Double_t oub, Double_t our,
+                      Double_t dou, Double_t d  , Double_t t  ,
+                      Double_t *x, Double_t *y);
+    void FillSPDXtruShape(Double_t a, Double_t  b, Double_t  r,
+                         Double_t t, Double_t *x, Double_t *y);
 
  private:
     AliITSv11Hybrid(const AliITSv11Hybrid &source); // copy constructor
     AliITSv11Hybrid& operator=(const AliITSv11Hybrid &source); // assignment operator
-    void InitAliITSgeom();
+    void InitAliITSgeom() const;
 
     Bool_t fGeomDetOut;       // Flag to write .det file out
     Bool_t fGeomDetIn;        // Flag to read .det file or directly from Geat.
@@ -150,6 +174,7 @@ class AliITSv11Hybrid : public AliITS {
     AliITSv11GeometrySPD *fSPDgeom; //! SPD Geometry
     AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry
     AliITSv11GeometrySSD *fSSDgeom; //! SSD Geometry
+    AliITSv11GeometrySupport *fSupgeom; //! Support Geometry
 
     ClassDef(AliITSv11Hybrid,0)                          
 };