]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSvSDD03.h
New classes to manage new (compressed) format of SDD raw data (F. Prino)
[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 #include "AliITSInitGeometry.h"
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     virtual ~AliITSvSDD03(); // destructor
27     virtual void   BuildGeometry();
28     virtual void   CreateGeometry();
29     virtual void   CreateMaterials();
30     virtual Int_t  IsVersion() const {// returns the ITS version number 
31                                       return (Int_t)kvSDD03;} 
32     virtual void   Init(); 
33     //virtual void   SetDefaults();
34     virtual void   DrawModule() const;
35     virtual void   StepManager(); 
36     virtual void   SetTargMat(TargTyp_t tt=kNoTarg){ // set target material 
37                                                  fTarg=tt;}    
38     virtual void   SetTargThick(Float_t th=1){ // set target thickness 
39                                                  fTargThick=th;}    
40     virtual void   SetWriteDet(Bool_t det=kTRUE){ // set .det write
41                                                  fGeomDetOut = det;}
42     virtual void   SetWriteDet(const char *f){ // set write file
43                                      strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
44     virtual void   SetReadDet(Bool_t det=kTRUE){ //set .det read
45                                                 fGeomDetIn = det;}
46     virtual void   SetReadDet(const char *f){ // set read file
47                                        strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
48     virtual void   SetEUCLIDFileName(const char *f){ // set write file
49                              fEuclidGeometry=f;fEuclidOut = kTRUE;}
50     virtual void   SetMinorVersion(Int_t v=22){ // Choose between existing minor versions
51         fMinorVersion = v;}
52     // Replacement default simulation initilization.
53     //virtual void SetDefaultSimulation();
54     TargTyp_t GetTargMat() const {return fTarg;}
55     // Decodes the id and copy nuber to give the layer, ladder, and detector 
56     // numbers . Returns the module number.
57     //virtual Int_t DecodeDetector(Int_t id,Int_t cpy,Int_t &lay,
58     //                             Int_t &lad,Int_t &det) const;
59          //
60  private:  
61     AliITSvSDD03(const AliITSvSDD03 &source); // Copy constructor
62     AliITSvSDD03& operator=(const AliITSvSDD03 &source); // = operator
63     Bool_t fGeomDetOut;       // Flag to write .det file out
64     Bool_t fGeomDetIn;        // Flag to read .det file or directly from Geat.
65     Int_t  fMajorVersion;     // Major version number == IsVersion
66     Int_t  fMinorVersion;     // Minor version number 
67     char   fEuclidGeomDet[60];// file where detector transormation are define.
68     char   fRead[60];         //! file name to read .det file
69     char   fWrite[60];        //! file name to write .det file
70     Int_t fIDMother;          //! ITS Mother Volume id.
71     Int_t fYear;              // Year flag to select different geometries.
72     TargTyp_t fTarg;          // Target material
73     Float_t fTargThick;       // TargetThickness in mm
74     AliITSInitGeometry fIgm;  //! Get Access to decoding an dAliITSgeom init functions
75
76     ClassDef(AliITSvSDD03,3) // Hits manager and geometry for SDD testbeam
77 };
78 #endif