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 */
6 ///////////////////////////////////////////////////////////////////////////////
8 // Class containing constant common parameters //
10 ///////////////////////////////////////////////////////////////////////////////
20 class AliTRDCommonParam : public TObject
25 enum { kNlayer = 6, kNstack = 5, kNsector = 18, kNdet = 540 };
27 AliTRDCommonParam(TRootIoCtor *);
28 AliTRDCommonParam(const AliTRDCommonParam &p);
29 AliTRDCommonParam &operator=(const AliTRDCommonParam &p);
30 virtual ~AliTRDCommonParam();
32 static AliTRDCommonParam *Instance();
33 static void Terminate();
35 virtual void Copy(TObject &p) const;
37 void SetExB(Int_t exbOn = 1) { fExBOn = exbOn; }
38 void SetSamplingFrequency(Float_t freq) { fSamplingFrequency = freq; }
39 void SetSMstatus(Int_t sm, Char_t status) { fSMstatus[sm] = status; }
41 Bool_t ExBOn() const { return fExBOn; }
42 Float_t GetSamplingFrequency() const { return fSamplingFrequency; }
43 Char_t GetSMstatus(Int_t sm) const { return fSMstatus[sm]; }
49 static AliTRDCommonParam *fgInstance; // Instance of this class (singleton implementation)
50 static Bool_t fgTerminated; // Defines if this class has already been terminated
51 Int_t fExBOn; // Switch for the ExB effects
52 Float_t fSamplingFrequency; // Sampling Frequency in MHz
53 Char_t fSMstatus[kNsector]; // Super module status byte
57 // This is a singleton, constructor is private!
60 ClassDef(AliTRDCommonParam,5) // The constant parameters common to simulation and reconstruction