Changing once more (hopefully we get it correct this time...) the logic to trig the...
[u/mrichter/AliRoot.git] / ITS / AliITSv11.h
1 #ifndef ALIITSV11_H
2 #define ALIITSV11_H
3 /* Copyright(c) 2007-2008, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5 //************************************************************************
6 //
7 //                 Inner Traking System geometry v11
8 //
9 //  Based on ROOT geometrical modeler
10 //
11 // B. Nilsen, L. Gaudichet
12 //************************************************************************
13 #include "AliITSInitGeometry.h"
14 #include "AliITS.h"
15 class AliITSv11GeometrySPD;
16 class AliITSv11GeometrySDD;
17 class AliITSv11GeometrySSD;
18 class AliITSv11GeometrySupport;
19
20 class AliITSv11 : public AliITS {
21
22  public:
23     AliITSv11();
24     AliITSv11(const char *name, const char *title);
25     AliITSv11(Int_t debugITS, Int_t debugSPD = 0, Int_t debugSDD = 0,
26              Int_t debugSSD = 0, Int_t debugSUP = 0);
27     virtual       ~AliITSv11() ;
28     virtual void   CreateGeometry();
29     virtual void   CreateMaterials();
30     virtual void   Init(); 
31     virtual void   SetDefaults();
32     virtual void   DrawModule() const;
33     virtual void   StepManager();
34     //virtual AliITSv11GeometrySPD*     GetSPDGeometry(){return fSPDgeom;}
35     virtual AliITSv11GeometrySDD*    GetSDDGeometry(){return fSDDgeom;}
36     //virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;}
37     virtual Int_t  IsVersion() const { return kv11;}  // ITS version number 
38     virtual Int_t  GetMajorVersion() const {// return Major Version Number
39                     return fMajorVersion;}
40     virtual Int_t  GetMinorVersion() const {// return Major Version Number
41                     return fMinorVersion;}
42     virtual void   SetMinorVersion(Int_t v=0){ // Choose between existing minor versions
43                    fMinorVersion = v;}
44
45     virtual void SetDensityServicesByThickness(){// uses services density
46         // calculation based on the thickness of the services.
47         fByThick = kTRUE;}
48     virtual void SetDensityServicesByMass(){// uses services density
49         // calculation based on the Mass of the services.
50         fByThick = kFALSE;}
51
52  private:
53     AliITSv11(const AliITSv11 &source);            // copy constructor
54     AliITSv11& operator=(const AliITSv11 &source); // assignment operator
55     //void InitAliITSgeom();
56
57     Bool_t fByThick;          // Flag to use services materials by thickness
58                                 // ture, or mass false.
59     Int_t  fMajorVersion;     // Major version number == IsVersion
60     Int_t  fMinorVersion;     // Minor version number
61     AliITSv11GeometrySPD *fSPDgeom;      //SPD Geometry
62     AliITSv11GeometrySDD *fSDDgeom;      //! SDD Geometry
63     AliITSv11GeometrySSD *fSSDgeom;  //SSD Geometry
64     AliITSv11GeometrySupport *fSupgeom;  //Support Geometry
65     AliITSInitGeometry fIgm; //! Geometry initlization object
66
67     ClassDef(AliITSv11,1)  // ITS version 11 
68 };
69  
70 #endif