]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - ITS/AliITSv11.h
cleanup
[u/mrichter/AliRoot.git] / ITS / AliITSv11.h
... / ...
CommitLineData
1#ifndef ALIITSV11_H
2#define ALIITSV11_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//========================================================================
7//
8// Inner Traking System geometry v11
9//
10// Based on ROOT geometrical modeler
11//
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
24#include "AliITS.h"
25#include "AliITSInitGeometry.h"
26
27class AliITSv11GeometrySPD;
28class AliITSv11GeometrySDD;
29class AliITSv11GeometrySSD;
30class AliITSv11GeometrySupport;
31class TGeoVolume;
32class TGeoVolumeAssembly;
33
34class AliITSv11 : public AliITS {
35
36 public:
37 AliITSv11();
38 AliITSv11(const char *title);
39 AliITSv11(const char *name, const char *title);
40 virtual ~AliITSv11() ;
41
42 virtual void AddAlignableVolumes() const;
43 virtual void CreateGeometry();
44 virtual void CreateMaterials();
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;}
53 virtual void Init();
54 virtual void SetDefaults();
55 virtual void StepManager();
56 virtual void SetMinorVersion(Int_t v=2){ // Choose between existing minor versions
57 fMinorVersion = v;}
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;}
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
72
73 private:
74 AliITSv11(const AliITSv11 &source); // copy constructor
75 AliITSv11& operator=(const AliITSv11 &source); // assignment operator
76
77 Bool_t fByThick; // Flag to use services materials by thickness
78 // ture, or mass false.
79 Int_t fMajorVersion; // Major version number == IsVersion
80 Int_t fMinorVersion; // Minor version number
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
88
89 ClassDef(AliITSv11,3) // ITS version 11
90};
91
92#endif