]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - TRD/AliTRDtrigger.h
Forgot this one
[u/mrichter/AliRoot.git] / TRD / AliTRDtrigger.h
... / ...
CommitLineData
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
6/* $Id$ */
7
8///////////////////////////////////////////////////////////////////////////////
9// //
10// TRD trigger class //
11// //
12///////////////////////////////////////////////////////////////////////////////
13
14#include <TNamed.h>
15
16class TTree;
17class TClonesArray;
18class TObjArray;
19
20class AliRunLoader;
21class AliRawReader;
22
23class AliTRDmcmTracklet;
24class AliTRDgtuTrack;
25class AliTRDmcm;
26class AliTRDmodule;
27class AliTRDdigitsManager;
28class AliTRDdataArrayI;
29class AliTRDgeometry;
30
31class AliTRDtrigger : public TNamed {
32
33 public:
34
35 enum { kNMCM = 16, kMaxTrackletsPerMCM = 4, kMcmCol = 21 };
36
37 AliTRDtrigger();
38 AliTRDtrigger(const Text_t* name, const Text_t* title);
39 AliTRDtrigger(const AliTRDtrigger &p);
40 virtual ~AliTRDtrigger();
41 AliTRDtrigger &operator=(const AliTRDtrigger &p);
42
43 virtual void Copy(TObject &p) const;
44
45 void Init();
46
47 Bool_t Open(const Char_t *name, Int_t nEvent = 0);
48 Bool_t ReadDigits();
49 Bool_t ReadDigits(AliRawReader *rawReader);
50 Bool_t ReadDigits(TTree *digitsTree);
51 Bool_t MakeTracklets(Bool_t makeTracks = kFALSE);
52 void MakeTracks(Int_t det);
53 Bool_t WriteTracklets(Int_t det);
54 Bool_t ReadTracklets(AliRunLoader *rl);
55
56 void AddTracklet(Int_t det, Int_t row, Int_t seed, Int_t n);
57 void AddTrack(const AliTRDgtuTrack *t, Int_t det);
58 Bool_t TestTracklet(Int_t det, Int_t row, Int_t seed, Int_t n);
59 TObjArray *Tracklets();
60 void ResetTracklets();
61
62 Int_t GetNumberOfTracks() const;
63 Int_t GetNPrimary() const { return fNPrimary; };
64 AliTRDgtuTrack *GetTrack(Int_t i) const;
65
66 void SetRunLoader(AliRunLoader *rl) { fRunLoader = rl; };
67 void SetMCMcoordinates(Int_t imcm);
68
69 protected:
70
71 Float_t fField; //! Magnetic field
72 AliTRDgeometry *fGeo; //! TRD geometry
73
74 AliRunLoader *fRunLoader; //! Run Loader
75 AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
76 TTree *fTrackletTree; //! Tree with tracklets
77 TObjArray *fTracklets; //! Array of tracklets
78
79 Int_t fNROB; //! Number of ROBs in the current chamber
80 AliTRDmcm *fMCM; //! Current MCM
81 AliTRDmcmTracklet *fTrk; //! Current tracklet
82 AliTRDmcmTracklet *fTrkTest; //! Test tracklet
83 AliTRDmodule *fModule; //! Current module
84 AliTRDgtuTrack *fGTUtrk; //! Current GTU track
85
86 Int_t fNtracklets; //! Tracklets counter
87
88 AliTRDdataArrayI *fDigits; //! Array with digits
89 AliTRDdataArrayI *fTrack0; //! Track dictionary 0
90 AliTRDdataArrayI *fTrack1; //! Track dictionary 1
91 AliTRDdataArrayI *fTrack2; //! Track dictionary 2
92
93 Int_t fNPrimary; //! Number of primary tracks
94
95 TClonesArray *fTracks; //! Array of GTU tracks
96
97 ClassDef(AliTRDtrigger,4) // TRD trigger class
98
99};
100
101#endif