]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11.h
New include needed
[u/mrichter/AliRoot.git] / ITS / AliITSv11.h
index 9fd6e1697bd39a46142e1cbd7af6899a839970e2..1a572628112cbcff40660b89edacdfb08ea03e80 100644 (file)
@@ -1,52 +1,98 @@
 #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 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();
+    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   BuildGeometry();
     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   DrawModule() const;
     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   SetWriteDet(Bool_t det=kTRUE){ // set .det write
+                                                fGeomDetOut = det;}
+    virtual void   SetWriteDet(const char *f){ // set write file
+                                    strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
+    virtual void   SetReadDet(Bool_t det=kTRUE){ //set .det read
+                                               fGeomDetIn = det;}
+    virtual void   SetReadDet(const char *f){ // set read file
+                                      strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
+    virtual void   SetEUCLIDFileName(const char *f){ // set write file
+                            fEuclidGeometry=f;fEuclidOut = kTRUE;}
+    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;}
+    virtual Bool_t GetEUCLID() const {return fEuclidOut;}// returns value Euclid flag.
+    virtual const char  *GetEULIIDFileName() const{ // return .euc file name
+                                      return fEuclidGeometry.Data();}
+    virtual Bool_t GetWriteDet() const { // returns value GeomDetOut flag.
+                                 return fGeomDetOut;}
+    virtual Bool_t GetReadDet() const { // returns value GeomDetIn flag.
+                                return fGeomDetIn;}
+    virtual char  *GetReadDetFileName(){ // return .det read file name
+                 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
+    virtual char  *GetWriteDetFileName(){ // return .det write file name
+               if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
+
+
+ private:
+    AliITSv11(const AliITSv11 &source);            // copy constructor
+    AliITSv11& operator=(const AliITSv11 &source); // assignment operator
+    //void InitAliITSgeom();
 
-    // 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)
-
-    ClassDef(AliITSv11,1)  //Hits manager for set:ITS version 11
+    char   fEuclidGeomDet[60];// file where detector transormation are define.
+    char   fRead[60];         //! file name to read .det file
+    char   fWrite[60];        //! file name to write .det file
+    //AliITSv11GeometrySPD *fSPDgeom;      //SPD Geometry
+    AliITSv11GeometrySDD *fSDDgeom;      //! SDD Geometry
+    //AliITSv11GeometrySupport /fSupgeom;  //Support Geometry
+    AliITSInitGeometry fIgm; //! Geometry initlization object
+
+    ClassDef(AliITSv11,1)  // ITS version 11 
 };
  
 #endif