]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSvSDD03.h
Remove AliTRDv2
[u/mrichter/AliRoot.git] / ITS / AliITSvSDD03.h
index 070684730c0c359af5118eef1f879aab4a6d5d2e..799f8bbe7299646f048409a43e5e35078bad27f0 100644 (file)
@@ -6,10 +6,19 @@
   $Id$
 */
 // ITS step manager and geometry class for the ITS SDD test beam geometry
-// of Summer 2002.
+// of Summer 2003 and later.
+// At present, the geometry and materials need to be checked against the
+// proper geometry of the 2003 test beam. In addition, because the SSD
+// used in the test beam are single sided, the second side needs be ignored.
+// This can cause some problems with the SSD reconstruction code.
 
 #include "AliITS.h"
 
+typedef enum {
+  kNoTarg=0,kIron=4,kLead,kSteel,
+  kCarbon=8,kAl,kBe,kTi,kSn,kCopper,kGe,kTungsten=19
+} TargTyp_t;
+
 class AliITSvSDD03 : public AliITS{
  public:
     AliITSvSDD03(); // default constructor
@@ -24,8 +33,12 @@ class AliITSvSDD03 : public AliITS{
                                       return 1;} 
     virtual void   Init(); 
     virtual void   SetDefaults();
-    virtual void   DrawModule();
+    virtual void   DrawModule() const;
     virtual void   StepManager(); 
+    virtual void   SetTargMat(TargTyp_t tt=kNoTarg){ // set target material 
+                                                 fTarg=tt;}    
+    virtual void   SetTargThick(Float_t th=1){ // set target thickness 
+                                                 fTargThick=th;}    
     virtual void   SetWriteDet(Bool_t det=kTRUE){ // set .det write
                                                  fGeomDetOut = det;}
     virtual void   SetWriteDet(const char *f){ // set write file
@@ -34,8 +47,6 @@ class AliITSvSDD03 : public AliITS{
                                                 fGeomDetIn = det;}
     virtual void   SetReadDet(const char *f){ // set read file
                                        strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
-    virtual void   SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file
-                                                  fEuclidOut = euclid;}
     virtual void   SetEUCLIDFileName(const char *f){ // set write file
                              fEuclidGeometry=f;fEuclidOut = kTRUE;}
     virtual void   SetMinorVersion(Int_t v=22){ // Choose between existing minor versions
@@ -52,6 +63,14 @@ class AliITSvSDD03 : public AliITS{
     virtual void   SetThicknessChip2(Float_t v=300.){
          // Set chip thickness in layer 2
          fChip2 = v;}
+    // Replacement default simulation initilization.
+    virtual void SetDefaultSimulation();
+    TargTyp_t GetTargMat() const {return fTarg;}
+    // Decodes the id and copy nuber to give the layer, ladder, and detector 
+    // numbers . Returns the module number.
+    virtual Int_t DecodeDetector(Int_t id,Int_t cpy,Int_t &lay,
+                                 Int_t &lad,Int_t &det) const;
+         //
  private:  
     void InitAliITSgeom();
     Bool_t fGeomDetOut;       // Flag to write .det file out
@@ -66,8 +85,10 @@ class AliITSvSDD03 : public AliITS{
     Float_t  fChip1;          // thickness of chip in SDD layer 1
     Float_t  fChip2;          // thickness of chip in SDD layer 2 
     Int_t fIDMother;          //! ITS Mother Volume id.
-    Int_t fYear;              //
+    Int_t fYear;              // Year flag to select different geometries.
+    TargTyp_t fTarg;          // Target material
+    Float_t fTargThick;       // TargetThickness in mm
 
-    ClassDef(AliITSvSDD03,1) // Hits manager and geometry for SDD testbeam
+    ClassDef(AliITSvSDD03,2) // Hits manager and geometry for SDD testbeam
 };
 #endif