#ifndef ALIITSV11_H
#define ALIITSV11_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+/* Copyright(c) 2007-2008, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-
-/*
- $Id$
- */
-
-/////////////////////////////////////////////////////////////////////////
-// Manager and hits classes for set: ITS version 11, 2003 geometry //
-/////////////////////////////////////////////////////////////////////////
-
+//************************************************************************
+//
+// Inner Traking System geometry v11
+//
+// Based on ROOT geometrical modeler
+//
+// B. Nilsen, L. Gaudichet
+//************************************************************************
+#include "AliITSInitGeometry.h"
#include "AliITS.h"
-class TGeoVolume;
-class TGeoPcon;
-
+class AliITSv11GeometrySPD;
+class AliITSv11GeometrySDD;
+class AliITSv11GeometrySSD;
+class AliITSv11GeometrySupport;
+
class AliITSv11 : public AliITS {
public:
AliITSv11();
- AliITSv11(const char *title);
- AliITSv11(const AliITSv11 &source); // copy constructor
- AliITSv11& operator=(const AliITSv11 &source); // assignment operator
- virtual ~AliITSv11();
- virtual void BuildGeometry();
+ AliITSv11(const char *name, const char *title);
+ AliITSv11(Int_t /* debugITS */, Int_t debugSPD = 0, Int_t debugSDD = 0,
+ Int_t debugSSD = 0, Int_t debugSUP = 0);
+ virtual ~AliITSv11() ;
virtual void CreateGeometry();
virtual void CreateMaterials();
- virtual Int_t IsVersion() const {return 11;} // ITS version number
virtual void Init();
virtual void SetDefaults();
- virtual void DrawModule();
virtual void StepManager();
- private:
- void InitAliITSgeom();
+ //virtual AliITSv11GeometrySPD* GetSPDGeometry(){return fSPDgeom;}
+ virtual AliITSv11GeometrySDD* GetSDDGeometry(){return fSDDgeom;}
+ //virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;}
+ virtual Int_t IsVersion() const { return kv11;} // ITS version number
+ virtual Int_t GetMajorVersion() const {// return Major Version Number
+ return fMajorVersion;}
+ virtual Int_t GetMinorVersion() const {// return Major Version Number
+ return fMinorVersion;}
+ virtual void SetMinorVersion(Int_t v=0){ // Choose between existing minor versions
+ fMinorVersion = v;}
+
+ virtual void SetDensityServicesByThickness(){// uses services density
+ // calculation based on the thickness of the services.
+ fByThick = kTRUE;}
+ virtual void SetDensityServicesByMass(){// uses services density
+ // calculation based on the Mass of the services.
+ fByThick = kFALSE;}
+
+ private:
+ AliITSv11(const AliITSv11 &source); // copy constructor
+ AliITSv11& operator=(const AliITSv11 &source); // assignment operator
- // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
- Bool_t fGeomDetOut; // Flag to write .det file out
- Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat.
+ Bool_t fByThick; // Flag to use services materials by thickness
+ // ture, or mass false.
Int_t fMajorVersion; // Major version number == IsVersion
Int_t fMinorVersion; // Minor version number
- Float_t fDet1; // thickness of detector in SPD layer 1
- Float_t fDet2; // thickness of detector in SPD layer 2
- Float_t fChip1; // thickness of chip in SPD layer 1
- Float_t fChip2; // thickness of chip in SPD layer 2
- Int_t fRails; // switch rails on (=1) and off (=0)
- Int_t fFluid; // switch between water(=1) and freon(=0)
+ AliITSv11GeometrySPD *fSPDgeom; //SPD Geometry
+ AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry
+ AliITSv11GeometrySSD *fSSDgeom; //SSD Geometry
+ AliITSv11GeometrySupport *fSupgeom; //Support Geometry
+ AliITSInitGeometry fIgm; //! Geometry initlization object
- ClassDef(AliITSv11,1) //Hits manager for set:ITS version 11
+ ClassDef(AliITSv11,1) // ITS version 11
};
#endif