-#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;
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();
Double_t &width, Double_t &tilt,
Double_t <hick, 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
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