]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/UPGRADE/AliITSUv0.h
Added wrapper volumes to CDR setup
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUv0.h
index 6a7ee053b69c85462eef79239ca52dc8eb53b0ff..25c8811985d56cf898892382ce27a48afcee631f 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef ALIITSVUV0_H
-#define ALIITSVUV0_H
+#ifndef ALIITSUV0_H
+#define ALIITSUV0_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
 
 #include "AliITSU.h"
 
-typedef enum {
-  kModelDummy=0,
-  kModel0=1,
-  kModel1=2, 
-  kModel21=3,
-  kModel22=4,
-  kModel3=5,
-} AliITSUModel_t;
-
-
 class  AliITSUv0Layer;
 //class  AliITSv11GeomBeamPipe;
 class  TGeoVolume;
@@ -35,10 +25,22 @@ class  TGeoVolumeAssembly;
 class AliITSUv0 : public AliITSU {
 
  public:
+
+
+  typedef enum {
+    kModelDummy=0,
+    kModel0=1,
+    kModel1=2, 
+    kModel21=3,
+    kModel22=4,
+    kModel3=5
+  } AliITSUModel_t;
+  
+
   AliITSUv0();
   AliITSUv0(const char *title, const Int_t nlay);
   virtual       ~AliITSUv0() ;
-  
+  virtual void   SetNWrapVolumes(Int_t n);
   virtual void   AddAlignableVolumes() const;
   virtual void   CreateGeometry();
   virtual void   CreateMaterials();
@@ -52,6 +54,7 @@ class AliITSUv0 : public AliITSU {
                                    Double_t &width, Double_t &tilt,
                                    Double_t &lthick, Double_t &mthick,
                                    UInt_t &dettype) const;
+  virtual void   DefineWrapVolume(Int_t id, Double_t rmin,Double_t rmax, Double_t zspan);
   virtual void   Init(); 
   virtual Bool_t IsLayerTurbo(Int_t nlay);
   virtual Int_t  IsVersion()                 const { return 20;}  // vUpgrade ? do we need this
@@ -65,7 +68,14 @@ class AliITSUv0 : public AliITSU {
  private:
   AliITSUv0(const AliITSUv0 &source); // copy constructor
   AliITSUv0& operator=(const AliITSUv0 &source); // assignment operator
+
+  TGeoVolume* CreateWrapperVolume(const Int_t nLay);
+
   //
+  Int_t     fNWrapVol;       // number of wrapper volumes
+  Double_t* fWrapRMin;       // min radius of wrapper volume
+  Double_t* fWrapRMax;       // max radius of wrapper volume
+  Double_t* fWrapZSpan;      // Z span of wrapper volume
   Bool_t   *fLayTurbo;       // True for "turbo" layers
   Double_t *fLayPhi0;        // Vector of layer's 1st ladder phi in lab
   Double_t *fLayRadii;       // Vector of layer radii