Coding conventions
[u/mrichter/AliRoot.git] / ITS / AliITSv11.h
CommitLineData
2b680d9b 1#ifndef ALIITSV11_H
2#define ALIITSV11_H
effd7456 3/* Copyright(c) 2007-2008, ALICE Experiment at CERN, All rights reserved. *
2b680d9b 4 * See cxx source for full Copyright notice */
effd7456 5//************************************************************************
6//
7// Inner Traking System geometry v11
8//
9// Based on ROOT geometrical modeler
10//
11// B. Nilsen, L. Gaudichet
12//************************************************************************
2b680d9b 13
14#include "AliITS.h"
db486a6e 15class AliITSv11GeometrySPD;
16class AliITSv11GeometrySDD;
17class AliITSv11GeometrySupport;
b7943f00 18
2b680d9b 19class AliITSv11 : public AliITS {
20
21 public:
22 AliITSv11();
fa4639a3 23 AliITSv11(const char *name, const char *title);
b7943f00 24 AliITSv11(Int_t debugITS, Int_t debugSPD = 0, Int_t debugSDD = 0,
25 Int_t debugSSD = 0, Int_t debugSUP = 0);
b7943f00 26 virtual ~AliITSv11() ;
2b680d9b 27 virtual void BuildGeometry();
28 virtual void CreateGeometry();
29 virtual void CreateMaterials();
2b680d9b 30 virtual void Init();
31 virtual void SetDefaults();
b7943f00 32 virtual void DrawModule() const;
2b680d9b 33 virtual void StepManager();
b7943f00 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 fMajorVersion;} // 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
43
44 virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write
45 fGeomDetOut = det;}
46 virtual void SetWriteDet(const char *f){ // set write file
47 strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
48 virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read
49 fGeomDetIn = det;}
50 virtual void SetReadDet(const char *f){ // set read file
51 strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
52 virtual void SetEUCLIDFileName(const char *f){ // set write file
53 fEuclidGeometry=f;fEuclidOut = kTRUE;}
54 virtual void SetMinorVersion(Int_t v=0){ // Choose between existing minor versions
55 fMinorVersion = v;}
56
57 virtual void SetDensityServicesByThickness(){// uses services density
58 // calculation based on the thickness of the services.
59 fByThick = kTRUE;}
60 virtual void SetDensityServicesByMass(){// uses services density
61 // calculation based on the Mass of the services.
62 fByThick = kFALSE;}
63 virtual Bool_t GetEUCLID() const {return fEuclidOut;}// returns value Euclid flag.
64 virtual const char *GetEULIIDFileName() const{ // return .euc file name
65 return fEuclidGeometry.Data();}
66 virtual Bool_t GetWriteDet() const { // returns value GeomDetOut flag.
67 return fGeomDetOut;}
68 virtual Bool_t GetReadDet() const { // returns value GeomDetIn flag.
69 return fGeomDetIn;}
70 virtual char *GetReadDetFileName(){ // return .det read file name
71 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
72 virtual char *GetWriteDetFileName(){ // return .det write file name
73 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
74
75
76 private:
e939a978 77 AliITSv11(const AliITSv11 &source); // copy constructor
78 AliITSv11& operator=(const AliITSv11 &source); // assignment operator
2b680d9b 79 void InitAliITSgeom();
2b680d9b 80
b7943f00 81 Bool_t fGeomDetOut; // Flag to write .det file out
82 Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat.
83 Bool_t fByThick; // Flag to use services materials by thickness
84 // ture, or mass false.
85 Int_t fMajorVersion; // Major version number == IsVersion
86 Int_t fMinorVersion; // Minor version number
87 char fEuclidGeomDet[60];// file where detector transormation are define.
88 char fRead[60]; //! file name to read .det file
89 char fWrite[60]; //! file name to write .det file
90
91
92 //AliITSv11GeometrySPD *fSPDgeom; //SPD Geometry
fa4639a3 93 AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry
b7943f00 94 //AliITSv11GeometrySupport /fSupgeom; //Support Geometry
2b680d9b 95
b7943f00 96 ClassDef(AliITSv11,1) // ITS version 11
2b680d9b 97};
98
99#endif