]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDtrigger.h
fix problem with fXpos11 in LoadXPos (Philippe C., thanks to Christian)
[u/mrichter/AliRoot.git] / TRD / AliTRDtrigger.h
CommitLineData
0ee00e25 1#ifndef ALITRDTRIGGER_H
2#define ALITRDTRIGGER_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6d50f529 6/* $Id$ */
7
0ee00e25 8///////////////////////////////////////////////////////////////////////////////
9// //
10// TRD trigger class //
11// //
12///////////////////////////////////////////////////////////////////////////////
13
e3b2b5e5 14#include <TNamed.h>
0ee00e25 15
e3b2b5e5 16class TTree;
6d50f529 17class TClonesArray;
18class TObjArray;
0ee00e25 19
20class AliRunLoader;
21class AliRawReader;
22
23class AliTRDmcmTracklet;
6d50f529 24class AliTRDgtuTrack;
0ee00e25 25class AliTRDmcm;
26class AliTRDmodule;
e3b2b5e5 27class AliTRDtrigParam;
6d50f529 28class AliTRDdigitsManager;
29class AliTRDdataArrayI;
30class AliTRDgeometry;
31class AliTRDcalibDB;
32class AliTRDCommonParam;
0ee00e25 33
34class AliTRDtrigger : public TNamed {
35
36 public:
37
e3b2b5e5 38 enum { kNMCM = 16, kMaxTrackletsPerMCM = 4, kMcmCol = 21 };
0ee00e25 39
40 AliTRDtrigger();
41 AliTRDtrigger(const Text_t* name, const Text_t* title);
42 AliTRDtrigger(const AliTRDtrigger &p);
6d50f529 43 virtual ~AliTRDtrigger();
44 AliTRDtrigger &operator=(const AliTRDtrigger &p);
45
46 virtual void Copy(TObject &p) const;
47
48 void Init();
49
50 Bool_t Open(const Char_t *name, Int_t nEvent = 0);
51 Bool_t ReadDigits();
25ca55ce 52 Bool_t ReadDigits(AliRawReader *rawReader);
53 Bool_t ReadDigits(TTree *digitsTree);
6d50f529 54 Bool_t MakeTracklets(Bool_t makeTracks = kFALSE);
55 void MakeTracks(Int_t det);
56 Bool_t WriteTracklets(Int_t det);
57 Bool_t ReadTracklets(AliRunLoader *rl);
58
59 void AddTracklet(Int_t det, Int_t row, Int_t seed, Int_t n);
60 void AddTrack(const AliTRDgtuTrack *t, Int_t det);
61 Bool_t TestTracklet(Int_t det, Int_t row, Int_t seed, Int_t n);
62 TObjArray *Tracklets();
63 void ResetTracklets();
64
65 Int_t GetNumberOfTracks() const;
66 Int_t GetNPrimary() const { return fNPrimary; };
67 AliTRDtrigParam *GetParameter() const { return fTrigParam; };
68 AliTRDgtuTrack *GetTrack(Int_t i) const;
69
70 void SetRunLoader(AliRunLoader *rl) { fRunLoader = rl; };
71 void SetMCMcoordinates(Int_t imcm);
72 void SetParameter(AliTRDtrigParam *trigp) { fTrigParam = trigp; };
73
0ee00e25 74
75 protected:
76
6d50f529 77 Float_t fField; //! Magnetic field
78 AliTRDgeometry *fGeo; //! TRD geometry
79 AliTRDcalibDB *fCalib; //! Calibration DB
80 AliTRDCommonParam *fCParam; //! Common parameters
3fcb9908 81
6d50f529 82 AliTRDtrigParam *fTrigParam; //! Trigger class parameters
83 AliRunLoader *fRunLoader; //! Run Loader
84 AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
85 TTree *fTrackletTree; //! Tree with tracklets
86 TObjArray *fTracklets; //! Array of tracklets
0ee00e25 87
6d50f529 88 Int_t fNROB; //! Number of ROBs in the current chamber
89 AliTRDmcm *fMCM; //! Current MCM
90 AliTRDmcmTracklet *fTrk; //! Current tracklet
91 AliTRDmcmTracklet *fTrkTest; //! Test tracklet
92 AliTRDmodule *fModule; //! Current module
93 AliTRDgtuTrack *fGTUtrk; //! Current GTU track
0ee00e25 94
6d50f529 95 Int_t fNtracklets; //! Tracklets counter
0ee00e25 96
6d50f529 97 AliTRDdataArrayI *fDigits; //! Array with digits
98 AliTRDdataArrayI *fTrack0; //! Track dictionary 0
99 AliTRDdataArrayI *fTrack1; //! Track dictionary 1
100 AliTRDdataArrayI *fTrack2; //! Track dictionary 2
0ee00e25 101
6d50f529 102 Int_t fNPrimary; //! Number of primary tracks
0ee00e25 103
6d50f529 104 TClonesArray *fTracks; //! Array of GTU tracks
0ee00e25 105
6d50f529 106 ClassDef(AliTRDtrigger,3) // TRD trigger class
0ee00e25 107
108};
109
110#endif