]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11GeometrySPD.h
Macro for SDD dE/dx calibration (from Leonardo and Riccardo)
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySPD.h
index 9d9c407a83803b62a5ca6024bceaa8f9a6a48b29..926402703eeb8900fb599fb852b75292f231a19e 100644 (file)
  * $Id$
  */
 
+#include <TArrayD.h>
 #include <TGeoManager.h>
 #include <TVirtualMC.h>
 #include <TString.h>
 #include <TArrayI.h>
 #include <TPolyLine.h>
 #include <TPolyMarker.h>
-#include <AliITSv11Geometry.h>
+#include "AliITSv11Geometry.h"
 
 class TGeoVolume;
 class TGeoCompositeShape;
 
+using std::istream;
+
 class AliITSv11GeometrySPD : public AliITSv11Geometry
 {
  public:
@@ -43,21 +46,6 @@ class AliITSv11GeometrySPD : public AliITSv11Geometry
     // Destructor
     virtual ~AliITSv11GeometrySPD() {};
 
-    /* Settings */
-
-    // define/create materials
-    virtual Int_t CreateSPDCentralMaterials(Int_t &medOffset,
-                                            Int_t &matOffset) const;
-    /* Monitoring */
-
-    // creates standard figures for the documentation of this class
-    virtual void CreateFigure0(const Char_t *path = "",
-                               const Char_t *type = "gif",
-                               TGeoManager *mgr = gGeoManager) const;
-    // fill TPolylines with crossections of the SPD Carbon fiber sectors.
-    Bool_t Make2DCrossSections(TPolyLine &a0, TPolyLine &a1, TPolyLine &b0,
-                               TPolyLine &b1, TPolyMarker &p) const;
-
     /* Services */
 
     // get names
@@ -69,8 +57,10 @@ class AliITSv11GeometrySPD : public AliITSv11Geometry
         {return (lay==1) ? GetSenstiveVolumeName1():GetSenstiveVolumeName2();}
     // get medium
     virtual TGeoMedium* GetMedium(const char* mediumName,
-                                  TGeoManager *mgr = gGeoManager) const;
+                                  const TGeoManager *mgr = gGeoManager) const;
     // retrieve the mounting location and rotation needed to mount an SPD stave
+    virtual Int_t GetSPDsectorX0Size() const
+        {return fSPDsectorX0.GetSize();}
     virtual Bool_t GetSectorMountingPoints(Int_t index, Double_t &x0,
                                Double_t &y0, Double_t &x1, Double_t &y1) const;
     // displace the staves on the carbon fiber sector
@@ -91,8 +81,6 @@ class AliITSv11GeometrySPD : public AliITSv11Geometry
     virtual TGeoVolume* CreateClip(TArrayD &sizes,Bool_t isDummy,
                                    TGeoManager *mgr = gGeoManager) const;
     // the grounding foil (splitted in many components)
-    //virtual TGeoVolumeAssembly* CreateGroundingFoilSingle(Int_t type,
-    //                 TArrayD &sizes, TGeoManager *mgr = gGeoManager) const;
     virtual  TGeoCompositeShape* CreateGroundingFoilShape(Int_t itype,
         Double_t &length,Double_t &width,Double_t thickness,TArrayD &sizes);
     virtual TGeoVolumeAssembly* CreateGroundingFoil(Bool_t isRight, TArrayD &sizes,
@@ -106,13 +94,14 @@ class AliITSv11GeometrySPD : public AliITSv11Geometry
     // the extender complicated geometry
     virtual TGeoVolume* CreateExtender(const Double_t *params,
                               const TGeoMedium *medium, TArrayD &sizes) const;
-    // the Pixel Bus & extenders (old method which will be removed)
-    virtual TGeoVolumeAssembly* CreatePixelBusAndExtensions(Bool_t zpos=kTRUE,
+                                        
+    virtual TGeoVolume* CreatePatchPanel(TArrayD &sizes,
                                         TGeoManager *mgr = gGeoManager) const;
 
-    virtual TList* CreateConeModule(const Double_t angle,
+    virtual TList* CreateConeModule(Bool_t sideC, const Double_t angle,
                                    TGeoManager *mgr = gGeoManager) const;
     virtual void CreateCones(TGeoVolume *moth) const;
+/*    virtual*/ void CreateServices(TGeoVolume *moth) const;
     // a half-stave (put together ladders + MCM + bus, and add clips
     // if requested)
     virtual TGeoVolumeAssembly* CreateHalfStave(Bool_t isRight, Int_t layer,
@@ -122,7 +111,7 @@ class AliITSv11GeometrySPD : public AliITSv11Geometry
     virtual TGeoVolumeAssembly* CreateStave(Int_t layer, TArrayD &sizes,
              /*Bool_t addClips = kFALSE,*/TGeoManager *mgr = gGeoManager);
     // the complete Carbon Fiber sector (support + staves)
-    virtual void CarbonFiberSector(TGeoVolume *moth, Double_t &xAAtubeCenter0,
+    virtual void CarbonFiberSector(TGeoVolume *moth, Int_t sect, Double_t &xAAtubeCenter0,
                      Double_t &yAAtubeCenter0, TGeoManager *mgr = gGeoManager);
     // the whole SPD barrel (the 10 sectors at once)
     virtual void SPDSector(TGeoVolume *moth, TGeoManager *mgr = gGeoManager);
@@ -163,6 +152,9 @@ class AliITSv11GeometrySPD : public AliITSv11Geometry
     Bool_t CFHolePoints(Double_t s,Double_t r1,Double_t r2,Double_t l,
                         Double_t &x,Double_t &y)const;
 
+    // create the cooling tubes going from the manifolds to the staves
+    void CreateCoolingTubes(TGeoVolume *moth, Bool_t sideC) const;
+
     /* Data members */
 
     static const Double_t fgkGapLadder;// thicknes of the empty (air) gap left