]>
Commit | Line | Data |
---|---|---|
a9e2aefa | 1 | #ifndef ALIMUONTRIGGERCIRCUIT_H |
2 | #define ALIMUONTRIGGERCIRCUIT_H | |
3 | ||
4 | #include "TObjArray.h" | |
70479d0e | 5 | #include <Riostream.h> |
a9e2aefa | 6 | #include "AliMUONSegmentationTrigger.h" |
7 | ||
8 | class AliMUONSegmentationTrigger; | |
9 | //---------------------------------------------- | |
10 | class AliMUONTriggerCircuit : | |
11 | public TObject { | |
12 | public: | |
13 | AliMUONTriggerCircuit(); | |
14 | virtual ~AliMUONTriggerCircuit(){;} | |
15 | // copy constructor | |
16 | AliMUONTriggerCircuit(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); | |
17 | // assignment operator | |
18 | AliMUONTriggerCircuit& operator=(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); | |
19 | ||
20 | // initializations | |
21 | void Init(Int_t iCircuit); | |
22 | ||
23 | // get calculated pt | |
24 | Float_t PtCal(Int_t istripX, Int_t idev, Int_t istripY); | |
25 | ||
26 | //--- methods which return member data related info | |
27 | Int_t GetIdCircuit(); | |
28 | Int_t GetIdModule(); | |
29 | Int_t GetNstripX(); | |
30 | Int_t GetNstripY(); | |
31 | Int_t GetPosCircuit(); | |
32 | Int_t GetIdCircuitD(); | |
33 | Int_t GetICircuitD(); | |
34 | Int_t GetIdCircuitU(); | |
35 | Int_t GetICircuitU(); | |
36 | Int_t GetX2m(); | |
37 | Int_t GetX2ud(); | |
38 | void GetOrMud(Int_t orMud[2]); | |
39 | Int_t GetXcode(Int_t chamber, Int_t istrip); | |
40 | Int_t GetYcode(Int_t chamber, Int_t istrip); | |
41 | Float_t GetY11Pos(Int_t istrip); | |
42 | Float_t GetY21Pos(Int_t istrip); | |
43 | Float_t GetX11Pos(Int_t istrip); | |
44 | ||
45 | // Get reference to segmentation model | |
a30a000f | 46 | virtual AliSegmentation* SegmentationModel(Int_t isec) { |
47 | return (AliSegmentation *) (*fSegmentation)[isec-1]; | |
a9e2aefa | 48 | } |
49 | ||
50 | protected: | |
51 | TObjArray *fSegmentation; // pointer to segmentation | |
52 | ||
53 | private: | |
54 | Int_t CircuitNumber(Int_t idCircuit); | |
55 | Int_t ModuleNumber(Int_t idModule); | |
56 | Int_t Module(Int_t idCircuit); | |
57 | Int_t Position(Int_t idCircuit); | |
58 | void LoadX2(); | |
59 | void LoadXCode(); | |
60 | void LoadYCode(); | |
61 | void LoadYPos(); | |
62 | void LoadXPos(); | |
63 | ||
64 | ClassDef(AliMUONTriggerCircuit,1) // Trigger Circuit class | |
65 | ||
66 | private: | |
ecfa008b | 67 | Int_t fIdCircuit; // circuit Id number |
68 | Int_t fX2m; // internal info needed by TriggerDecision | |
69 | Int_t fX2ud; // internal info needed by TriggerDecision | |
a9e2aefa | 70 | Int_t fOrMud[2]; // internal info needed by TriggerDecision |
71 | Int_t fXcode[4][32]; // code of X strips | |
72 | Int_t fYcode[4][32]; // code of Y strips | |
73 | Float_t fXpos11[16]; // X position of Y strips in MC11 | |
74 | Float_t fYpos11[31]; // Y position of X strips in MC11 | |
75 | Float_t fYpos21[63]; // Y position of X strips in MC21 | |
76 | ||
77 | }; | |
78 | #endif | |
79 | ||
80 | ||
81 |