56d6a1ef |
1 | #ifndef ALIITSV5_H |
2 | #define ALIITSV5_H |
3da30618 |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
6 | /* $Id$ */ |
7 | |
58005f18 |
8 | //////////////////////////////////////////////////////////////////////// |
9 | // Manager and hits classes for ITS version 5 |
10 | //////////////////////////////////////////////////////////////////////// |
11 | |
1ca7869b |
12 | |
58005f18 |
13 | #include "AliITS.h" |
58005f18 |
14 | |
1ca7869b |
15 | class TBRIK; |
58005f18 |
16 | class AliITSv5 : public AliITS { |
fe4da5cc |
17 | |
c9a71be1 |
18 | public: |
19 | AliITSv5(); |
20 | AliITSv5(const char *name, const char *title); |
855190cc |
21 | AliITSv5(const AliITSv5 &source); // copy constructor |
22 | AliITSv5& operator=(const AliITSv5 &source); // assignment operator |
c9a71be1 |
23 | virtual ~AliITSv5() ; |
855190cc |
24 | virtual void BuildGeometry(); |
25 | virtual void CreateGeometry(); |
26 | virtual void CreateMaterials(); |
bae7e562 |
27 | virtual void Init(); |
28 | virtual Int_t IsVersion() const { // returns the ITS version number |
29 | return 5;} |
c9a71be1 |
30 | virtual void StepManager(); |
bae7e562 |
31 | void ReadOldGeometry(const char *filename); |
32 | virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write |
33 | fGeomDetOut = det;} |
34 | virtual void SetWriteDet(const char *f){ // set write file |
35 | strncpy(fWrite,f,60);fGeomDetOut = kTRUE;} |
36 | virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read |
37 | fGeomDetIn = det;} |
38 | virtual void SetReadOldDet(Bool_t det=kTRUE){ //set .det read |
39 | fGeomOldDetIn = det;} |
40 | virtual void SetReadDet(const char *f){ // set read file |
41 | strncpy(fRead,f,60);fGeomDetIn = kTRUE;} |
42 | virtual void SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file |
43 | fEuclidOut = euclid;} |
44 | virtual void SetEUCLIDFileName(const char *f){ // set write file |
45 | fEuclidGeometry=f;fEuclidOut = kTRUE;} |
46 | virtual void SetMinorVersion(Int_t v){ // Choose between existing minor versions |
47 | fMinorVersion = 1; |
48 | if(v==1) fMinorVersion = 1; |
49 | else if(v==2) fMinorVersion = 2; |
50 | else Warning("SetMinorVersion","Undefined Minor Version setting =1");} |
51 | virtual Bool_t GetEUCLID(){return fEuclidOut;}// returns value Euclid flag. |
52 | virtual const char *GetEULIIDFileName() const{ // return .euc file name |
53 | return fEuclidGeometry.Data();} |
54 | virtual Bool_t GetWriteDet() { // returns value GeomDetOut flag. |
55 | return fGeomDetOut;} |
56 | virtual Bool_t GetReadDet() { // returns value GeomDetIn flag. |
57 | return fGeomDetIn;} |
58 | virtual Bool_t GetReadDetOld() { // returns value GeomDetIn flag. |
59 | return fGeomOldDetIn;} |
60 | virtual char *GetReadDetFileName(){ // return .det read file name |
61 | if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;} |
62 | virtual char *GetWriteDetFileName(){ // return .det write file name |
63 | if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;} |
64 | virtual Int_t GetMajorVersion(){// return Major Version Number |
65 | return fMajorVersion;} |
66 | virtual Int_t GetMinorVersion(){// return Major Version Number |
67 | return fMinorVersion;} |
68 | |
69 | private: |
70 | void InitAliITSgeom(); |
71 | |
72 | // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule. |
73 | Bool_t fEuclidOut; // Flag to write geometry in euclid format |
74 | Bool_t fGeomDetOut; // Flag to write .det file out |
75 | Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. |
76 | Bool_t fGeomOldDetIn; // Flag to read old .det file. |
77 | Int_t fMajorVersion; // Major version number == IsVersion |
78 | Int_t fMinorVersion; // Minor version number |
79 | char fEuclidGeomDet[60];// file where detector transormation are define. |
80 | char fRead[60]; //! file name to read .det file |
81 | char fWrite[60]; //! file name to write .det file |
855190cc |
82 | |
855190cc |
83 | |
c9a71be1 |
84 | ClassDef(AliITSv5,1)//Hits manager for ITS version 5 Official detailed geometry |
fe4da5cc |
85 | }; |
86 | |
87 | #endif |