Fixed file name
[u/mrichter/AliRoot.git] / ITS / AliITSv11.h
CommitLineData
2b680d9b 1#ifndef ALIITSV11_H
2#define ALIITSV11_H
717cdf18 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2b680d9b 4 * See cxx source for full Copyright notice */
717cdf18 5
6//========================================================================
effd7456 7//
8// Inner Traking System geometry v11
9//
10// Based on ROOT geometrical modeler
11//
717cdf18 12// B. Nilsen, L. Gaudichet, M. Sitta
13//
14//========================================================================
15
16
17// $Id:
18
19// $Log$
20// Revision 1.1 2011/06/10 14:48:24 masera
21// First version from v11Hybrid to v11 (M. Sitta)
22//
23
2b680d9b 24#include "AliITS.h"
717cdf18 25#include "AliITSInitGeometry.h"
26
27class AliITSv11GeometrySPD;
28class AliITSv11GeometrySDD;
29class AliITSv11GeometrySSD;
30class AliITSv11GeometrySupport;
31class TGeoVolume;
32class TGeoVolumeAssembly;
b7943f00 33
2b680d9b 34class AliITSv11 : public AliITS {
35
36 public:
37 AliITSv11();
717cdf18 38 AliITSv11(const char *title);
b78b741f 39 AliITSv11(const char *name, const char *title);
b7943f00 40 virtual ~AliITSv11() ;
717cdf18 41
42 virtual void AddAlignableVolumes() const;
2b680d9b 43 virtual void CreateGeometry();
44 virtual void CreateMaterials();
717cdf18 45
46 virtual AliITSv11GeometrySPD* GetSPDGeometry(){return fSPDgeom;}
47 virtual AliITSv11GeometrySDD* GetSDDGeometry(){return fSDDgeom;}
48 virtual AliITSv11GeometrySSD* GetSSDGeometry(){return fSSDgeom;}
49 virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;}
50
51 virtual Int_t IsVersion() const {// returns the ITS version number
52 return 11;}
2b680d9b 53 virtual void Init();
54 virtual void SetDefaults();
2b680d9b 55 virtual void StepManager();
717cdf18 56 virtual void SetMinorVersion(Int_t v=2){ // Choose between existing minor versions
57 fMinorVersion = v;}
b7943f00 58 virtual void SetDensityServicesByThickness(){// uses services density
59 // calculation based on the thickness of the services.
60 fByThick = kTRUE;}
61 virtual void SetDensityServicesByMass(){// uses services density
62 // calculation based on the Mass of the services.
63 fByThick = kFALSE;}
717cdf18 64 virtual Int_t GetMajorVersion() const {// return Major Version Number
65 return fMajorVersion;}
66 virtual Int_t GetMinorVersion() const {// return Major Version Number
67 return fMinorVersion;}
68
69 protected:
70 void SetT2Lmatrix(Int_t uid, Double_t yShift,
71 Bool_t yFlip, Bool_t yRot180=kFALSE) const; // Set T2L matrix in TGeoPNEntries
b7943f00 72
73 private:
717cdf18 74 AliITSv11(const AliITSv11 &source); // copy constructor
e939a978 75 AliITSv11& operator=(const AliITSv11 &source); // assignment operator
2b680d9b 76
012f0f4c 77 Bool_t fByThick; // Flag to use services materials by thickness
717cdf18 78 // ture, or mass false.
012f0f4c 79 Int_t fMajorVersion; // Major version number == IsVersion
80 Int_t fMinorVersion; // Minor version number
717cdf18 81 Int_t fIDMother; //! ITS Mother Volume id.
82
83 AliITSInitGeometry fInitGeom; //! Get access to decoding and AliITSgeom init functions
84 AliITSv11GeometrySPD *fSPDgeom; //! SPD Geometry
85 AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry
86 AliITSv11GeometrySSD *fSSDgeom; //! SSD Geometry
87 AliITSv11GeometrySupport *fSupgeom; //! Support Geometry
2b680d9b 88
b78b741f 89 ClassDef(AliITSv11,3) // ITS version 11
2b680d9b 90};
91
92#endif