]>
Commit | Line | Data |
---|---|---|
5a30b198 | 1 | #ifndef ALIITSVSDD03_H |
2 | #define ALIITSVSDD03_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | /* | |
6 | $Id$ | |
7 | */ | |
8 | // ITS step manager and geometry class for the ITS SDD test beam geometry | |
8119ddd8 | 9 | // of Summer 2003 and later. |
10 | // At present, the geometry and materials need to be checked against the | |
11 | // proper geometry of the 2003 test beam. In addition, because the SSD | |
12 | // used in the test beam are single sided, the second side needs be ignored. | |
13 | // This can cause some problems with the SSD reconstruction code. | |
5a30b198 | 14 | |
15 | #include "AliITS.h" | |
16 | ||
15efbab5 | 17 | typedef enum { |
18 | kNoTarg=0,kIron=4,kLead,kSteel, | |
19 | kCarbon=8,kAl,kBe,kTi,kSn,kCopper,kGe,kTungsten=19 | |
20 | } TargTyp_t; | |
21 | ||
5a30b198 | 22 | class AliITSvSDD03 : public AliITS{ |
23 | public: | |
24 | AliITSvSDD03(); // default constructor | |
74d31ce3 | 25 | AliITSvSDD03(const char *title,Int_t year); // standard constructor |
5a30b198 | 26 | AliITSvSDD03(const AliITSvSDD03 &source); // Copy constructor |
27 | AliITSvSDD03& operator=(const AliITSvSDD03 &source); // = operator | |
28 | virtual ~AliITSvSDD03(); // destructor | |
29 | virtual void BuildGeometry(); | |
30 | virtual void CreateGeometry(); | |
31 | virtual void CreateMaterials(); | |
32 | virtual Int_t IsVersion() const {// returns the ITS version number | |
33 | return 1;} | |
34 | virtual void Init(); | |
35 | virtual void SetDefaults(); | |
8119ddd8 | 36 | virtual void DrawModule() const; |
5a30b198 | 37 | virtual void StepManager(); |
15efbab5 | 38 | virtual void SetTargMat(TargTyp_t tt=kNoTarg){ // set target material |
39 | fTarg=tt;} | |
40 | virtual void SetTargThick(Float_t th=1){ // set target thickness | |
41 | fTargThick=th;} | |
5a30b198 | 42 | virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write |
43 | fGeomDetOut = det;} | |
44 | virtual void SetWriteDet(const char *f){ // set write file | |
45 | strncpy(fWrite,f,60);fGeomDetOut = kTRUE;} | |
46 | virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read | |
47 | fGeomDetIn = det;} | |
48 | virtual void SetReadDet(const char *f){ // set read file | |
49 | strncpy(fRead,f,60);fGeomDetIn = kTRUE;} | |
5a30b198 | 50 | virtual void SetEUCLIDFileName(const char *f){ // set write file |
51 | fEuclidGeometry=f;fEuclidOut = kTRUE;} | |
52 | virtual void SetMinorVersion(Int_t v=22){ // Choose between existing minor versions | |
53 | fMinorVersion = v;} | |
54 | virtual void SetThicknessDet1(Float_t v=300.){ | |
55 | // Set detector thickness in layer 1 | |
56 | fDet1 = v;} | |
57 | virtual void SetThicknessDet2(Float_t v=300.){ | |
58 | // Set detector thickness in layer 2 | |
59 | fDet2 = v;} | |
60 | virtual void SetThicknessChip1(Float_t v=300.){ | |
61 | // Set chip thickness in layer 1 | |
62 | fChip1 = v;} | |
63 | virtual void SetThicknessChip2(Float_t v=300.){ | |
64 | // Set chip thickness in layer 2 | |
65 | fChip2 = v;} | |
6fc43a8e | 66 | // Replacement default simulation initilization. |
67 | virtual void SetDefaultSimulation(); | |
15efbab5 | 68 | TargTyp_t GetTargMat() const {return fTarg;} |
8119ddd8 | 69 | // Decodes the id and copy nuber to give the layer, ladder, and detector |
70 | // numbers . Returns the module number. | |
71 | virtual Int_t DecodeDetector(Int_t id,Int_t cpy,Int_t &lay, | |
72 | Int_t &lad,Int_t &det) const; | |
6fc43a8e | 73 | // |
5a30b198 | 74 | private: |
75 | void InitAliITSgeom(); | |
76 | Bool_t fGeomDetOut; // Flag to write .det file out | |
77 | Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. | |
78 | Int_t fMajorVersion; // Major version number == IsVersion | |
79 | Int_t fMinorVersion; // Minor version number | |
80 | char fEuclidGeomDet[60];// file where detector transormation are define. | |
81 | char fRead[60]; //! file name to read .det file | |
82 | char fWrite[60]; //! file name to write .det file | |
83 | Float_t fDet1; // thickness of detector in SDD layer 1 | |
84 | Float_t fDet2; // thickness of detector in SDD layer 2 | |
85 | Float_t fChip1; // thickness of chip in SDD layer 1 | |
86 | Float_t fChip2; // thickness of chip in SDD layer 2 | |
87 | Int_t fIDMother; //! ITS Mother Volume id. | |
8119ddd8 | 88 | Int_t fYear; // Year flag to select different geometries. |
15efbab5 | 89 | TargTyp_t fTarg; // Target material |
90 | Float_t fTargThick; // TargetThickness in mm | |
5a30b198 | 91 | |
15efbab5 | 92 | ClassDef(AliITSvSDD03,2) // Hits manager and geometry for SDD testbeam |
5a30b198 | 93 | }; |
94 | #endif |