Changing once more (hopefully we get it correct this time...) the logic to trig the...
[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   CreateGeometry();
28     virtual void   CreateMaterials();
29     virtual Int_t  IsVersion() const {// returns the ITS version number 
30                                       return (Int_t)kvSDD03;} 
31     virtual void   Init(); 
32     //virtual void   SetDefaults();
33     virtual void   DrawModule() const;
34     virtual void   StepManager(); 
35     virtual void   SetTargMat(TargTyp_t tt=kNoTarg){ // set target material 
36                                                  fTarg=tt;}    
37     virtual void   SetTargThick(Float_t th=1){ // set target thickness 
38                                                  fTargThick=th;}    
39     virtual void   SetMinorVersion(Int_t v=22){ // Choose between existing minor versions
40         fMinorVersion = v;}
41     // Replacement default simulation initilization.
42     //virtual void SetDefaultSimulation();
43     TargTyp_t GetTargMat() const {return fTarg;}
44     // Decodes the id and copy nuber to give the layer, ladder, and detector 
45     // numbers . Returns the module number.
46     //virtual Int_t DecodeDetector(Int_t id,Int_t cpy,Int_t &lay,
47     //                             Int_t &lad,Int_t &det) const;
48          //
49  private:  
50     AliITSvSDD03(const AliITSvSDD03 &source); // Copy constructor
51     AliITSvSDD03& operator=(const AliITSvSDD03 &source); // = operator
52     Int_t  fMajorVersion;     // Major version number == IsVersion
53     Int_t  fMinorVersion;     // Minor version number 
54     Int_t fIDMother;          //! ITS Mother Volume id.
55     Int_t fYear;              // Year flag to select different geometries.
56     TargTyp_t fTarg;          // Target material
57     Float_t fTargThick;       // TargetThickness in mm
58     AliITSInitGeometry fIgm;  //! Get Access to decoding an dAliITSgeom init functions
59
60     ClassDef(AliITSvSDD03,4) // Hits manager and geometry for SDD testbeam
61 };
62 #endif