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.
17 class AliITSvSDD03 : public AliITS{
19 AliITSvSDD03(); // default constructor
20 AliITSvSDD03(const char *title,Int_t year); // standard constructor
21 AliITSvSDD03(const AliITSvSDD03 &source); // Copy constructor
22 AliITSvSDD03& operator=(const AliITSvSDD03 &source); // = operator
23 virtual ~AliITSvSDD03(); // destructor
24 virtual void BuildGeometry();
25 virtual void CreateGeometry();
26 virtual void CreateMaterials();
27 virtual Int_t IsVersion() const {// returns the ITS version number
30 virtual void SetDefaults();
31 virtual void DrawModule() const;
32 virtual void StepManager();
33 virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write
35 virtual void SetWriteDet(const char *f){ // set write file
36 strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
37 virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read
39 virtual void SetReadDet(const char *f){ // set read file
40 strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
41 virtual void SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file
43 virtual void SetEUCLIDFileName(const char *f){ // set write file
44 fEuclidGeometry=f;fEuclidOut = kTRUE;}
45 virtual void SetMinorVersion(Int_t v=22){ // Choose between existing minor versions
47 virtual void SetThicknessDet1(Float_t v=300.){
48 // Set detector thickness in layer 1
50 virtual void SetThicknessDet2(Float_t v=300.){
51 // Set detector thickness in layer 2
53 virtual void SetThicknessChip1(Float_t v=300.){
54 // Set chip thickness in layer 1
56 virtual void SetThicknessChip2(Float_t v=300.){
57 // Set chip thickness in layer 2
59 // Replacement default simulation initilization.
60 virtual void SetDefaultSimulation();
61 // Decodes the id and copy nuber to give the layer, ladder, and detector
62 // numbers . Returns the module number.
63 virtual Int_t DecodeDetector(Int_t id,Int_t cpy,Int_t &lay,
64 Int_t &lad,Int_t &det) const;
67 void InitAliITSgeom();
68 Bool_t fGeomDetOut; // Flag to write .det file out
69 Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat.
70 Int_t fMajorVersion; // Major version number == IsVersion
71 Int_t fMinorVersion; // Minor version number
72 char fEuclidGeomDet[60];// file where detector transormation are define.
73 char fRead[60]; //! file name to read .det file
74 char fWrite[60]; //! file name to write .det file
75 Float_t fDet1; // thickness of detector in SDD layer 1
76 Float_t fDet2; // thickness of detector in SDD layer 2
77 Float_t fChip1; // thickness of chip in SDD layer 1
78 Float_t fChip2; // thickness of chip in SDD layer 2
79 Int_t fIDMother; //! ITS Mother Volume id.
80 Int_t fYear; // Year flag to select different geometries.
82 ClassDef(AliITSvSDD03,1) // Hits manager and geometry for SDD testbeam