Line data Source code
1 : #ifndef AliMFTCARoad_H
2 : #define AliMFTCARoad_H
3 :
4 : #include "TObject.h"
5 : #include "TClonesArray.h"
6 : #include "AliMFTConstants.h"
7 : #include "AliMFTCAHit.h"
8 : #include "AliMFTCACell.h"
9 :
10 : //_________________________________________________________________________________
11 : class AliMFTCARoad : public TObject {
12 :
13 : public:
14 :
15 : AliMFTCARoad();
16 0 : ~AliMFTCARoad() {};
17 :
18 : AliMFTCARoad (const AliMFTCARoad &road);
19 : AliMFTCARoad &operator=(const AliMFTCARoad&);
20 :
21 0 : void SetID(Int_t id) { fID = id; }
22 0 : const Int_t GetID() { return fID; }
23 0 : const Int_t GetNhits() { return fNhits; }
24 : void AddHit(AliMFTCAHit *hit);
25 0 : const Int_t GetNhitsInLayer(Int_t nl) { return fNhitsInLayer[nl]; }
26 0 : AliMFTCAHit *GetHitInLayer(Int_t nl, Int_t nh) { return (AliMFTCAHit*)fHitsInLayer[nl]->At(nh); }
27 0 : void SetNHitSta(Int_t n) { fNHitSta = n; }
28 0 : const Int_t GetNHitSta() { return fNHitSta; }
29 : void SetLength(Int_t l1, Int_t l2) {
30 0 : fLength = l2/2-l1/2;
31 0 : fLayer1 = l1;
32 0 : fLayer2 = l2;
33 0 : }
34 0 : const Int_t GetLength() { return fLength; }
35 0 : void SetGood() { fIsGood = kTRUE; }
36 0 : const Bool_t IsGood() { return fIsGood; }
37 0 : const Int_t GetLayer1() { return fLayer1; }
38 0 : const Int_t GetLayer2() { return fLayer2; }
39 : void AddCell(AliMFTCACell *cell);
40 0 : const Int_t GetNcellsInLayer(Int_t nl) { return fNcellsInLayer[nl]; }
41 0 : AliMFTCACell *GetCellInLayer(Int_t nl, Int_t nc) { return (AliMFTCACell*)fCellsInLayer[nl]->At(nc); }
42 : AliMFTCACell *GetCellByGID(Int_t gid);
43 :
44 : virtual void Clear(const Option_t *);
45 :
46 : private:
47 : static const Int_t fNDetMax = AliMFTConstants::fNMaxPlanes;
48 :
49 : Int_t fID; // Identifier
50 : Int_t fNhits; // Number of hits
51 : Int_t fNHitSta; // Number of hit stations (or disks)
52 : Int_t fLength; // distance between the first and the last planes
53 : Bool_t fIsGood; // has the minimum requested number of stations
54 : Int_t fNhitsInLayer[fNDetMax]; // Number of hits per layer
55 : Int_t fLayer1; // first layer
56 : Int_t fLayer2; // last layer
57 : Int_t fNcellsInLayer[fNDetMax]; // Number of cells per layer
58 :
59 : TClonesArray *fHitsInLayer[fNDetMax]; //! Array of hits per layer
60 : TClonesArray *fCellsInLayer[fNDetMax]; //! Array of cells per layer
61 :
62 12 : ClassDef(AliMFTCARoad,1);
63 :
64 : };
65 :
66 : #endif
67 :
|