Adding some further mother volumes to speed-up the overlap checking and particle...
[u/mrichter/AliRoot.git] / ITS / AliITSvBeamTestITS04.h
CommitLineData
7d62fb64 1#ifndef ALIITSVBEAMTESTITS04_H
2#define ALIITSVBEAMTESTITS04_H
5ba31760 3
4////////////////////////////////////////////////
5// ITS geometry class and step manager for the//
6// integrated ITS test beam of Nov. 04 //
7////////////////////////////////////////////////
012f0f4c 8#include "AliITSInitGeometry.h"
5ba31760 9#include "AliITS.h"
10
11class TGeoVolume;
12
13class AliITSvBeamTestITS04 : public AliITS {
14
15 public:
012f0f4c 16 AliITSvBeamTestITS04();
17 AliITSvBeamTestITS04(const char* name,const char *title);
18 virtual ~AliITSvBeamTestITS04();
19 virtual void SetNumberOfSPD(Int_t nSPD) {fNspd=nSPD;}
20 virtual void SetNumberOfSDD(Int_t nSDD) {fNsdd=nSDD;}
21 virtual void SetNumberOfSSD(Int_t nSSD) {fNssd=nSSD;}
22 Int_t GetNSPD() const {return fNspd;}
23 Int_t GetNSDD() const {return fNsdd;}
24 Int_t GetNSSD() const {return fNssd;}
25 Int_t GetNumberOfSubDet(const TString& det) const;
26 virtual void CreateGeometry();
27 virtual void CreateMaterials();
28 virtual Int_t IsVersion()const{return (Int_t)kvITS04;}//Return Major Version
29 virtual Int_t MinorVersion()const{return fMinorVersion;}//Return Minor Version
30 //virtual void InitAliITSgeom();
31 virtual void Init();
32 //virtual void SetDefaults();
33 virtual void StepManager();
34 //for writing out geometry set .det write
35 virtual void SetWriteDet(Bool_t det=kTRUE){fGeomDetOut = det;}
36 virtual void SetWriteDet(const char *f){strncpy(fWrite,f,60);
37 fGeomDetOut = kTRUE;}// set write file
38 //for reading geometry (JC) set .det read
39 virtual void SetReadDet(Bool_t det=kTRUE){fGeomDetIn = det;}
40 virtual void SetReadDet(const char *f){strncpy(fRead,f,60);
41 fGeomDetIn = kTRUE;} // set read file
42 public:
43 void AddSPDGeometry(TGeoVolume *moth) const;
44 void AddSDDGeometry(TGeoVolume *moth) const;
45 void AddSSDGeometry(TGeoVolume *moth) const;
0237c22c 46 protected:
012f0f4c 47 //! ITS mother volume
48 static const Int_t fgkNumberOfSPD; //number of SPD
49 static const Int_t fgkNumberOfSDD; //number of SDD
50 static const Int_t fgkNumberOfSSD; //number of SSD
51 // SPD specific
52 static const char* fgSPDsensitiveVolName; //SPD volume name
53 static const Double_t fgkSPDthickness; //SPD thickness
54 static const Double_t fgkSPDwidth; //SPD width
55 static const Double_t fgkSPDlength; //SPD length
56 static const Double_t fgkSPDthickSens; //SPD sensitive thickness
57 static const Double_t fgkSPDwidthSens; //SPD sensitive width
58 static const Double_t fgkSPDlengthSens; //SPD sensitive length
59 static const Double_t fgkSPD0y; //SPD position
60 static const Double_t fgkSPD1y; //SPD position
61 // SDD specific
62 static const char* fgSDDsensitiveVolName; //SDD volume name
63 static const Double_t fgkSDDthickness; //SDD thickness
64 static const Double_t fgkSDDwidth; //SDD width
65 static const Double_t fgkSDDlength; //SDD length
66 static const Double_t fgkSDDthickSens; //SDD sensitive thickness
67 static const Double_t fgkSDDwidthSens; //SDD sensitive width
68 static const Double_t fgkSDDlengthSens; //SDD sensitive length
69 static const Double_t fgkSDD0y; //SDD position
70 static const Double_t fgkSDD1y; //SDD position
71 // SDD specific
72 static const char* fgSSDsensitiveVolName; //SSD volume name
73 static const Double_t fgkSSDthickness; //SSD thickness
74 static const Double_t fgkSSDwidth; //SSD width
75 static const Double_t fgkSSDlength; //SSD length
76 static const Double_t fgkSSDthickSens; //SSD sensitive thickness
77 static const Double_t fgkSSDwidthSens; //SSD sensitive width
78 static const Double_t fgkSSDlengthSens; //SSD sensitive length
79 static const Double_t fgkSSD0y; //SSD position
80 static const Double_t fgkSSD1y; //SSD position
81 //
e939a978 82 private:
012f0f4c 83 //Int_t GetCurrentLayLaddDet(Int_t &lay,Int_t &ladd, Int_t &det) const;:
84 AliITSvBeamTestITS04(const AliITSvBeamTestITS04 &source);//Copy constructor
85 //=operator
86 AliITSvBeamTestITS04& operator=(const AliITSvBeamTestITS04 &source);
87 //
0237c22c 88 TGeoVolume *fITSmotherVolume; //Pointer to mother volume
012f0f4c 89 Int_t fNspd; //Number of SPD modules
90 Int_t fNsdd; //Number of SDD modules
91 Int_t fNssd; //Number of SSD modules
92 //for writing out geometry
93 Bool_t fGeomDetOut; // Flag to write .det file out
94 Bool_t fGeomDetIn; // Flag to read geometry file (JC)
95 char fWrite[60]; //! file name to write .det file
96 char fRead[60]; // file name to read .det file (JC)
97 AliITSVersion_t fMajorVersion; // Major Version
98 Int_t fMinorVersion; // Minor Version
99 AliITSInitGeometry fIgm; //! Init geometry object
100
101 ClassDef(AliITSvBeamTestITS04,3) // Full ITS test beam geometry 2004
102};
5ba31760 103
104#endif
105
106