Code from MUON-dev joined
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCircuit.h
CommitLineData
a9e2aefa 1#ifndef ALIMUONTRIGGERCIRCUIT_H
2#define ALIMUONTRIGGERCIRCUIT_H
3
4#include "TObjArray.h"
5#include <iostream.h>
6#include "AliMUONSegmentationTrigger.h"
7
8class AliMUONSegmentationTrigger;
9//----------------------------------------------
10class AliMUONTriggerCircuit :
11public 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
46 virtual AliMUONSegmentation* SegmentationModel(Int_t isec) {
47 return (AliMUONSegmentation *) (*fSegmentation)[isec-1];
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:
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
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