]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerCircuit.h
Move to new mapping
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCircuit.h
1 #ifndef ALIMUONTRIGGERCIRCUIT_H
2 #define ALIMUONTRIGGERCIRCUIT_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 // Revision of includes 07/05/2004
8 //
9 /// \ingroup base
10 /// \class AliMUONTriggerCircuit
11 /// \brief MUON Trigger circuit
12
13 #include <TObject.h>
14 #include <TObjArray.h>
15
16 class TObjArray;
17
18 class AliMUONTriggerCircuit : public TObject 
19 {
20  public: 
21   AliMUONTriggerCircuit();  
22   virtual ~AliMUONTriggerCircuit(){;} 
23
24   // initializations
25   void Init(Int_t iCircuit);    
26   
27   // get calculated pt
28   Float_t PtCal(Int_t istripX, Int_t idev, Int_t istripY);
29
30   //--- methods which return member data related info
31   Int_t   GetIdCircuit() const;
32   Int_t   GetIdModule() const;
33   Int_t   GetNstripX() const;
34   Int_t   GetNstripY() const;
35   Int_t   GetPosCircuit() const;
36   Int_t   GetIdCircuitD() const;
37   Int_t   GetICircuitD() const;
38   Int_t   GetIdCircuitU() const;
39   Int_t   GetICircuitU() const;
40   Int_t   GetX2m() const;
41   Int_t   GetX2ud() const;
42   void    GetOrMud(Int_t orMud[2]) const;
43   Int_t   GetXcode(Int_t chamber, Int_t istrip) const;
44   Int_t   GetYcode(Int_t chamber, Int_t istrip) const;
45   Float_t GetY11Pos(Int_t istrip) const;
46   Float_t GetY21Pos(Int_t istrip) const;
47   Float_t GetX11Pos(Int_t istrip) const;
48   Int_t   DetElemId(Int_t ichamber, Int_t idModule);
49
50   void Print(Option_t* opt="") const;
51   
52  protected:
53   // copy constructor
54   AliMUONTriggerCircuit(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); 
55   // assignment operator
56   AliMUONTriggerCircuit& operator=(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); 
57
58  private:
59   Int_t CircuitNumber(Int_t idCircuit) const;
60   Int_t ModuleNumber(Int_t idModule) const; 
61   Int_t Module(Int_t idCircuit) const;
62   Int_t Position(Int_t idCircuit) const;
63   void LoadX2();
64   void LoadXCode();
65   void LoadYCode();
66   void LoadYPos2();
67   void LoadXPos2();
68    
69   ClassDef(AliMUONTriggerCircuit,1) // Trigger Circuit class
70     
71  private:    
72   Int_t fIdCircuit;            // circuit Id number
73   Int_t fX2m;                  // internal info needed by TriggerDecision
74   Int_t fX2ud;                 // internal info needed by TriggerDecision
75   Int_t fOrMud[2];             // internal info needed by TriggerDecision
76   Int_t fXcode[4][32];         // code of X strips
77   Int_t fYcode[4][32];         // code of Y strips 
78   Float_t fXpos11[16];         // X position of Y strips in MC11
79   Float_t fYpos11[31];         // Y position of X strips in MC11
80   Float_t fYpos21[63];         // Y position of X strips in MC21
81
82 };
83 #endif
84
85
86