]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDtrigParam.h
Updated version of the TRD trigger (Bogdan)
[u/mrichter/AliRoot.git] / TRD / AliTRDtrigParam.h
1 #ifndef ALITRDTRIGPARAM_H
2 #define ALITRDTRIGPARAM_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 //  TRD trigger parameters class                                             //
9 //                                                                           //
10 ///////////////////////////////////////////////////////////////////////////////
11
12 #include <TNamed.h>
13
14 class AliTRDtrigParam : public TNamed {
15
16  public:
17
18   AliTRDtrigParam();
19   AliTRDtrigParam(const Text_t* name, const Text_t* title);
20   AliTRDtrigParam(const AliTRDtrigParam &p);   
21   virtual ~AliTRDtrigParam();
22   AliTRDtrigParam &operator=(const AliTRDtrigParam &p); 
23   virtual void     Copy(TObject &p) const;
24
25   void    Init();
26
27   void    SetTimeRange(const Int_t time1, const Int_t time2) { fTime1 = time1; fTime2 = time2; };
28   Int_t   GetTime1()                                   const { return fTime1; };
29   Int_t   GetTime2()                                   const { return fTime2; };
30   void    SetClusThr(const Float_t clth)                     { fClusThr = clth; };
31   void    SetPadThr(const Float_t path)                      { fPadThr = path;  };
32   Float_t GetClusThr()                                 const { return fClusThr; };
33   Float_t GetPadThr()                                  const { return fPadThr;  };
34   void    SetSum10(const Int_t sum)                          { fSum10 = sum; };
35   void    SetSum12(const Int_t sum)                          { fSum12 = sum; };
36   Int_t   GetSum10()                                   const { return fSum10; };
37   Int_t   GetSum12()                                   const { return fSum12; };
38
39   void    SetTailCancelation(Int_t tcOn = 0)               { fTCOn = tcOn; };
40   void    SetNexponential(Int_t nexp = 1)                  { fTCnexp = nexp; };
41   void    SetFilterType(Int_t ftype = 0)                   { fFilterType = ftype; };
42   void    SetFilterParam(Float_t r1, Float_t r2, Float_t c1, Float_t c2, Float_t ped) 
43     { fR1 = r1; fR2 = r2; fC1 = c1; fC2 = c2; fPedestal = ped; };
44
45   Int_t   GetTailCancelation()                       const { return fTCOn; };
46   Int_t   GetNexponential()                          const { return fTCnexp; };
47   Int_t   GetFilterType()                            const { return fFilterType; };
48   void    GetFilterParam(Float_t &r1, Float_t &r2, Float_t &c1, Float_t &c2, Float_t &ped) const { r1 = fR1; r2 = fR2; c1 = fC1; c2 = fC2; ped = fPedestal; };
49
50   void    SetADCnoise(const Float_t adcn)                  { fADCnoise = adcn; };
51   Float_t GetADCnoise()                              const { return fADCnoise; };
52
53   void    SetDebugLevel(const Int_t deb) { fDebug = deb;  };
54   Int_t   GetDebugLevel()          const { return fDebug; };
55
56   void    SetDeltaY(Float_t dy) { fDeltaY = dy; };
57   Float_t GetDeltaY()     const { return fDeltaY; };
58   void    SetDeltaS(Float_t ds) { fDeltaS = ds; };
59   Float_t GetDeltaS()     const { return fDeltaS; };
60
61   Float_t GetXprojPlane() const { return fXprojPlane; };
62
63   void    SetField(Float_t b) { fField = b; };
64   Float_t GetField() const { return fField; };
65
66   void    SetLtuPtCut(Float_t ptcut) { fLtuPtCut = ptcut; };
67   Float_t GetLtuPtCut() const { return fLtuPtCut; };
68
69   void    SetGtuPtCut(Float_t ptcut) { fGtuPtCut = ptcut; };
70   Float_t GetGtuPtCut() const { return fGtuPtCut; };
71
72   void    SetHighPt(Float_t hpt) { fHighPt = hpt; };
73   Float_t GetHighPt() const { return fHighPt; };
74
75   void    SetNPartJetLow(Int_t npj) { fNPartJetLow = npj; };
76   Int_t   GetNPartJetLow() const { return fNPartJetLow; };
77   void    SetNPartJetHigh(Int_t npj) { fNPartJetHigh = npj; };
78   Int_t   GetNPartJetHigh() const { return fNPartJetHigh; };
79
80   void    SetJetLowPt(Float_t thr) { fJetLowPt = thr; };
81   Float_t GetJetLowPt() const { return fJetLowPt; };
82   void    SetJetHighPt(Float_t thr) { fJetHighPt = thr; };
83   Float_t GetJetHighPt() const { return fJetHighPt; };
84
85  protected:
86
87   Int_t    fDebug;                         // debugging flag
88
89   Int_t    fTime1;                         // first time bin for tracking (incl.)
90   Int_t    fTime2;                         // last  time bin for tracking (incl.)
91   Float_t  fClusThr;                       // cluster threshold
92   Float_t  fPadThr;                        // pad threshold
93   Int_t    fSum10;                         // MCM CreateSeeds: Min_Thr_Left_Neighbour
94   Int_t    fSum12;                         // MCM CreateSeeds: Min_Sum_From_Two_Neighbours
95   Int_t    fTCOn;                          // tail cancelation flag
96   Int_t    fTCnexp;                        // number of exp in filter
97   Int_t    fFilterType;                    // filter type (0=A - analog, 1=D - digital)
98
99   // filter parameters (1 = long, 2 = short component)
100   Float_t  fR1;                            // time constant [microseconds]
101   Float_t  fR2;                            // time constant [microseconds]
102   Float_t  fC1;                            // weight
103   Float_t  fC2;                            // weight
104   Float_t  fPedestal;                      // ADC baseline
105   Float_t  fADCnoise;                      // ADC noise (not contained in the digitizer)
106
107   Float_t  fDeltaY;                        // Y (offset) matching window in the GTU
108   Float_t  fDeltaS;                        // Slope matching window in the GTU
109
110   Float_t  fXprojPlane;                    // Projection plane (X) for GTU matching
111
112   Float_t  fLtuPtCut;                      // Local pt cut
113   Float_t  fGtuPtCut;                      // Global pt cut
114
115   Float_t  fField;                         // Magnetic field
116
117   Float_t  fHighPt;                        // High pt selection
118
119   Int_t    fNPartJetLow;                   // Number of tracks for jet (low)
120   Int_t    fNPartJetHigh;                  // Number of tracks for jet (high)
121   Float_t  fJetLowPt;                      // Low pt threshold for jet particles
122   Float_t  fJetHighPt;                     // High pt threshold for jet particles
123
124   ClassDef(AliTRDtrigParam,2)              // TRD trigger parameter class
125
126 };
127
128 #endif