Line data Source code
1 : #ifndef ALIEMCALTRIGGERMAPPING_H
2 : #define ALIEMCALTRIGGERMAPPING_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 : Mapping ABC
9 : Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
10 : */
11 :
12 : #ifndef ROOT_TObject
13 : # include "TObject.h"
14 : #endif
15 :
16 : class AliEMCALGeometry;
17 :
18 : class AliEMCALTriggerMapping : public TObject
19 : {
20 : public:
21 0 : AliEMCALTriggerMapping() : fNTRU(0), fGeometry(0x0) {}
22 10 : AliEMCALTriggerMapping(Int_t ntru, const AliEMCALGeometry* geo) : fNTRU(ntru), fGeometry(geo) {}
23 0 : virtual ~AliEMCALTriggerMapping() {}
24 :
25 : virtual Bool_t GetAbsFastORIndexFromTRU(Int_t iTRU, Int_t iADC, Int_t& id) const = 0;
26 : virtual Bool_t GetAbsFastORIndexFromPositionInTRU(Int_t iTRU, Int_t iEta, Int_t iPhi, Int_t& id) const = 0;
27 : virtual Bool_t GetAbsFastORIndexFromPositionInSM(Int_t iSM, Int_t iEta, Int_t iPhi, Int_t& id) const = 0;
28 : virtual Bool_t GetAbsFastORIndexFromPositionInEMCAL(Int_t iEta, Int_t iPhi, Int_t& id) const = 0;
29 : virtual Bool_t GetAbsFastORIndexFromPHOSSubregion( Int_t iPHOS, Int_t& id) const = 0;
30 : virtual Bool_t GetTRUFromAbsFastORIndex(Int_t id, Int_t& iTRU, Int_t& iADC) const = 0;
31 : virtual Bool_t GetPositionInTRUFromAbsFastORIndex(Int_t id, Int_t& iTRU, Int_t& iEta, Int_t& iPhi) const = 0;
32 : virtual Bool_t GetPositionInSMFromAbsFastORIndex(Int_t id, Int_t& iSM, Int_t& iEta, Int_t& iPhi) const = 0;
33 : virtual Bool_t GetPositionInEMCALFromAbsFastORIndex(Int_t id, Int_t& iEta, Int_t& iPhi) const = 0;
34 : virtual Bool_t GetFastORIndexFromCellIndex(Int_t id, Int_t& idx) const = 0;
35 : virtual Bool_t GetCellIndexFromFastORIndex(Int_t id, Int_t idx[4]) const = 0;
36 : virtual Bool_t GetTRUIndexFromSTUIndex(Int_t id, Int_t& idx, Int_t detector) const = 0;
37 : virtual Bool_t GetTRUIndexFromOnlineIndex(Int_t id, Int_t& idx) const = 0;
38 : virtual Int_t GetTRUIndexFromOnlineHwAdd(Int_t hwAdd, Int_t ddl, Int_t sm) const = 0;
39 : virtual Bool_t GetOnlineIndexFromTRUIndex(Int_t id, Int_t& idx) const = 0;
40 : virtual Bool_t GetFastORIndexFromL0Index(Int_t iTRU, Int_t id, Int_t idx[], Int_t size) const = 0;
41 : virtual Int_t GetTRUIndexFromSTUIndex( Int_t id, Int_t detector) const = 0;
42 : virtual Int_t GetTRUIndexFromOnlineIndex(Int_t id) const = 0;
43 : virtual Int_t GetOnlineIndexFromTRUIndex(Int_t id) const = 0;
44 :
45 :
46 : virtual Bool_t GetSTUIndexFromTRUIndex( Int_t id, Int_t& idx ) const = 0 ;
47 : virtual Int_t GetSTUIndexFromTRUIndex( Int_t id ) const = 0 ;
48 : virtual Bool_t GetTRUFromSTU(Int_t iTRU, Int_t iADC, Int_t& oTRU, Int_t& oADC, Int_t detector) const = 0 ;
49 : virtual Bool_t GetSTUFromTRU(Int_t iTRU, Int_t iADC, Int_t& oTRU, Int_t& oADC ) const = 0 ;
50 : virtual Bool_t GetTRUFromSTU(Int_t iTRU, Int_t ieta, Int_t iphi, Int_t& oTRU, Int_t& oeta, Int_t& ophi, Int_t detector) const = 0 ;
51 : virtual Bool_t GetSTUFromTRU(Int_t iTRU, Int_t ieta, Int_t iphi, Int_t& oTRU, Int_t& oeta, Int_t& ophi ) const = 0 ;
52 :
53 :
54 0 : virtual void GetNTRU(Int_t& n) { n = fNTRU ; }
55 140 : virtual Int_t GetNTRU() { return fNTRU ; }
56 :
57 : protected:
58 : Int_t fNTRU;
59 : const AliEMCALGeometry* fGeometry;
60 :
61 : private:
62 : AliEMCALTriggerMapping( const AliEMCALTriggerMapping& rhs);
63 : AliEMCALTriggerMapping& operator=(const AliEMCALTriggerMapping& rhs);
64 :
65 72 : ClassDef(AliEMCALTriggerMapping,1)
66 : };
67 :
68 : #endif
69 :
|