New plots for trending injector efficiencies (Melinda)
[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
56     Bool_t fByThick;          // Flag to use services materials by thickness
57                                 // ture, or mass false.
58     Int_t  fMajorVersion;     // Major version number == IsVersion
59     Int_t  fMinorVersion;     // Minor version number
60     AliITSv11GeometrySPD *fSPDgeom;      //SPD Geometry
61     AliITSv11GeometrySDD *fSDDgeom;      //! SDD Geometry
62     AliITSv11GeometrySSD *fSSDgeom;  //SSD Geometry
63     AliITSv11GeometrySupport *fSupgeom;  //Support Geometry
64     AliITSInitGeometry fIgm; //! Geometry initlization object
65
66     ClassDef(AliITSv11,1)  // ITS version 11 
67 };
68  
69 #endif