3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 // ITS step manager and geometry class for the ITS SDD test beam geometry
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.
18 kNoTarg=0,kIron=4,kLead,kSteel,
19 kCarbon=8,kAl,kBe,kTi,kSn,kCopper,kGe,kTungsten=19
22 class AliITSvSDD03 : public AliITS{
24 AliITSvSDD03(); // default constructor
25 AliITSvSDD03(const char *title,Int_t year); // standard constructor
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
35 virtual void SetDefaults();
36 virtual void DrawModule() const;
37 virtual void StepManager();
38 virtual void SetTargMat(TargTyp_t tt=kNoTarg){ // set target material
40 virtual void SetTargThick(Float_t th=1){ // set target thickness
42 virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write
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
48 virtual void SetReadDet(const char *f){ // set read file
49 strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
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
54 virtual void SetThicknessDet1(Float_t v=300.){
55 // Set detector thickness in layer 1
57 virtual void SetThicknessDet2(Float_t v=300.){
58 // Set detector thickness in layer 2
60 virtual void SetThicknessChip1(Float_t v=300.){
61 // Set chip thickness in layer 1
63 virtual void SetThicknessChip2(Float_t v=300.){
64 // Set chip thickness in layer 2
66 // Replacement default simulation initilization.
67 virtual void SetDefaultSimulation();
68 TargTyp_t GetTargMat() const {return fTarg;}
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;
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.
88 Int_t fYear; // Year flag to select different geometries.
89 TargTyp_t fTarg; // Target material
90 Float_t fTargThick; // TargetThickness in mm
92 ClassDef(AliITSvSDD03,2) // Hits manager and geometry for SDD testbeam