Classes moved to STEERBase.
[u/mrichter/AliRoot.git] / TRD / AliTRDtrigParam.h
CommitLineData
0ee00e25 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
f162af62 12#include "TObject.h"
0ee00e25 13
f162af62 14class AliTRDtrigParam : public TObject {
0ee00e25 15
16 public:
17
0ee00e25 18 AliTRDtrigParam(const AliTRDtrigParam &p);
6d50f529 19 virtual ~AliTRDtrigParam();
0ee00e25 20 AliTRDtrigParam &operator=(const AliTRDtrigParam &p);
0ee00e25 21
f162af62 22 static AliTRDtrigParam *Instance();
23 static void Terminate();
24
6d50f529 25 virtual void Copy(TObject &p) const;
c202a357 26
6d50f529 27 void Init();
28
29 Int_t GetTime1() const { return fTime1; };
30 Int_t GetTime2() const { return fTime2; };
31 Float_t GetClusThr() const { return fClusThr; };
32 Float_t GetPadThr() const { return fPadThr; };
33 Int_t GetSum10() const { return fSum10; };
34 Int_t GetSum12() const { return fSum12; };
35 Int_t GetTailCancelation() const { return fTCOn; };
36 Int_t GetNexponential() const { return fTCnexp; };
37 Int_t GetFilterType() const { return fFilterType; };
38 void GetFilterParam(Float_t &r1, Float_t &r2, Float_t &c1, Float_t &c2, Float_t &ped) const
39 { r1 = fR1;
40 r2 = fR2;
41 c1 = fC1;
42 c2 = fC2;
43 ped = fPedestal; };
44 Float_t GetADCnoise() const { return fADCnoise; };
6d50f529 45 Float_t GetDeltaY() const { return fDeltaY; };
46 Float_t GetDeltaS() const { return fDeltaS; };
47 Float_t GetXprojPlane() const { return fXprojPlane; };
6d50f529 48 Float_t GetLtuPtCut() const { return fLtuPtCut; };
49 Float_t GetGtuPtCut() const { return fGtuPtCut; };
50 Float_t GetHighPt() const { return fHighPt; };
51 Int_t GetNPartJetLow() const { return fNPartJetLow; };
52 Int_t GetNPartJetHigh() const { return fNPartJetHigh; };
53 Float_t GetJetLowPt() const { return fJetLowPt; };
54 Float_t GetJetHighPt() const { return fJetHighPt; };
55
56 void SetTimeRange(Int_t time1, Int_t time2) { fTime1 = time1;
57 fTime2 = time2; };
58 void SetClusThr(Float_t clth) { fClusThr = clth; };
59 void SetPadThr(Float_t path) { fPadThr = path; };
60 void SetSum10(Int_t sum) { fSum10 = sum; };
61 void SetSum12(Int_t sum) { fSum12 = sum; };
62 void SetTailCancelation(Int_t tcOn = 0) { fTCOn = tcOn; };
63 void SetNexponential(Int_t nexp = 1) { fTCnexp = nexp; };
64 void SetFilterType(Int_t ftype = 0) { fFilterType = ftype; };
65 void SetFilterParam(Float_t r1, Float_t r2, Float_t c1, Float_t c2, Float_t ped)
66 { fR1 = r1;
67 fR2 = r2;
68 fC1 = c1;
69 fC2 = c2;
70 fPedestal = ped; };
71 void SetADCnoise(Float_t adcn) { fADCnoise = adcn; };
6d50f529 72 void SetDeltaY(Float_t dy) { fDeltaY = dy; };
73 void SetDeltaS(Float_t ds) { fDeltaS = ds; };
6d50f529 74 void SetLtuPtCut(Float_t ptcut) { fLtuPtCut = ptcut; };
75 void SetGtuPtCut(Float_t ptcut) { fGtuPtCut = ptcut; };
76 void SetHighPt(Float_t hpt) { fHighPt = hpt; };
77 void SetNPartJetLow(Int_t npj) { fNPartJetLow = npj; };
78 void SetNPartJetHigh(Int_t npj) { fNPartJetHigh = npj; };
79 void SetJetLowPt(Float_t thr) { fJetLowPt = thr; };
80 void SetJetHighPt(Float_t thr) { fJetHighPt = thr; };
c202a357 81
0ee00e25 82 protected:
83
f162af62 84 static AliTRDtrigParam *fgInstance; // Instance of this class (singleton implementation)
85 static Bool_t fgTerminated; // Defines if this class has already been terminated
0ee00e25 86
6d50f529 87 Int_t fTime1; // First time bin for tracking (incl.)
88 Int_t fTime2; // Last time bin for tracking (incl.)
89 Float_t fClusThr; // Cluster threshold
90 Float_t fPadThr; // Pad threshold
91 Int_t fSum10; // MCM CreateSeeds: Min_Thr_Left_Neighbour
92 Int_t fSum12; // MCM CreateSeeds: Min_Sum_From_Two_Neighbours
93 Int_t fTCOn; // Tail cancelation flag
94 Int_t fTCnexp; // Number of exp in filter
95 Int_t fFilterType; // Filter type (0=A - analog, 1=D - digital)
e3b2b5e5 96
6d50f529 97 // Filter parameters (1 = long, 2 = short component)
98 Float_t fR1; // Time constant [microseconds]
99 Float_t fR2; // Time constant [microseconds]
100 Float_t fC1; // Weight
101 Float_t fC2; // Weight
102 Float_t fPedestal; // ADC baseline
103 Float_t fADCnoise; // ADC noise (not contained in the digitizer)
0ee00e25 104
6d50f529 105 Float_t fDeltaY; // Y (offset) matching window in the GTU
106 Float_t fDeltaS; // Slope matching window in the GTU
0ee00e25 107
6d50f529 108 Float_t fXprojPlane; // Projection plane (X) for GTU matching
0ee00e25 109
6d50f529 110 Float_t fLtuPtCut; // Local pt cut
111 Float_t fGtuPtCut; // Global pt cut
0ee00e25 112
6d50f529 113 Float_t fHighPt; // High pt selection
e3b2b5e5 114
6d50f529 115 Int_t fNPartJetLow; // Number of tracks for jet (low)
116 Int_t fNPartJetHigh; // Number of tracks for jet (high)
117 Float_t fJetLowPt; // Low pt threshold for jet particles
118 Float_t fJetHighPt; // High pt threshold for jet particles
c202a357 119
f162af62 120 private:
121
122 // This is a singleton, constructor is private!
123 AliTRDtrigParam();
124
125 ClassDef(AliTRDtrigParam,3) // TRD trigger parameter class
0ee00e25 126
127};
128
129#endif