]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSvSDD03.h
small fix
[u/mrichter/AliRoot.git] / ITS / AliITSvSDD03.h
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
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.
14
15 #include "AliITS.h"
16
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
22 class AliITSvSDD03 : public AliITS{
23  public:
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 
33                                       return 1;} 
34     virtual void   Init(); 
35     virtual void   SetDefaults();
36     virtual void   DrawModule() const;
37     virtual void   StepManager(); 
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;}    
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;}
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;}
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;
73          //
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.
88     Int_t fYear;              // Year flag to select different geometries.
89     TargTyp_t fTarg;          // Target material
90     Float_t fTargThick;       // TargetThickness in mm
91
92     ClassDef(AliITSvSDD03,2) // Hits manager and geometry for SDD testbeam
93 };
94 #endif