]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDCommonParam.h
Beautify editor; rename over/undershoot to over/underflow.
[u/mrichter/AliRoot.git] / TRD / AliTRDCommonParam.h
1 #ifndef AliTRDCOMMONPARAM_H
2 #define AliTRDCOMMONPARAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ///////////////////////////////////////////////////////////////////////////////
7 //                                                                           //
8 // Class containing constant common parameters                               //
9 //                                                                           //
10 ///////////////////////////////////////////////////////////////////////////////
11
12 /* $Id$ */
13
14 #include "TObject.h"
15
16 class AliTRDpadPlane;
17
18 class AliTRDCommonParam : public TObject
19 {
20
21   public:
22   
23     enum { kNplan = 6, kNcham = 5, kNsect = 18, kNdet = 540 };
24     
25     AliTRDCommonParam(const AliTRDCommonParam &p);   
26     AliTRDCommonParam &operator=(const AliTRDCommonParam &p); 
27     virtual        ~AliTRDCommonParam();
28
29     static AliTRDCommonParam *Instance();
30     static  void    Terminate();
31
32     virtual void    Copy(TObject &p) const;
33     
34     void            SetField(Float_t field)                        { fField = field; };
35     void            SetExB(Int_t exbOn = 1)                        { fExBOn = exbOn; };
36     
37     Float_t         GetField()                               const { return fField;  };
38     Bool_t          ExBOn()                                  const { return fExBOn;  };
39     
40     AliTRDpadPlane *GetPadPlane(Int_t p, Int_t c) const;
41     Int_t           GetRowMax(Int_t p, Int_t c, Int_t /*s*/) const;
42     Int_t           GetColMax(Int_t p) const;
43     Double_t        GetRow0(Int_t p, Int_t c, Int_t /*s*/) const;
44     Double_t        GetCol0(Int_t p) const;
45   
46   protected:
47
48     static AliTRDCommonParam *fgInstance;     //  Instance of this class (singleton implementation)
49     static Bool_t             fgTerminated;   //  Defines if this class has already been terminated
50     
51     void Init();
52     
53     Float_t                   fField;         //  Magnetic field
54     Int_t                     fExBOn;         //  Switch for the ExB effects
55   
56     TObjArray                *fPadPlaneArray; //! Array of pad plane objects
57   
58   private:
59
60     // This is a singleton, constructor is private!  
61     AliTRDCommonParam();
62   
63     ClassDef(AliTRDCommonParam,1)             // The constant parameters common to simulation and reconstruction       
64
65 };
66
67 #endif