Correcting MUONGenerateGeometryData.C macro description
[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  protected:
51   // copy constructor
52   AliMUONTriggerCircuit(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); 
53   // assignment operator
54   AliMUONTriggerCircuit& operator=(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); 
55
56  private:
57   Int_t CircuitNumber(Int_t idCircuit) const;
58   Int_t ModuleNumber(Int_t idModule) const; 
59   Int_t Module(Int_t idCircuit) const;
60   Int_t Position(Int_t idCircuit) const;
61   void LoadX2();
62   void LoadXCode();
63   void LoadYCode();
64   void LoadYPos2();
65   void LoadXPos2();
66    
67   ClassDef(AliMUONTriggerCircuit,1) // Trigger Circuit class
68     
69  private:    
70   Int_t fIdCircuit;            // circuit Id number
71   Int_t fX2m;                  // internal info needed by TriggerDecision
72   Int_t fX2ud;                 // internal info needed by TriggerDecision
73   Int_t fOrMud[2];             // internal info needed by TriggerDecision
74   Int_t fXcode[4][32];         // code of X strips
75   Int_t fYcode[4][32];         // code of Y strips 
76   Float_t fXpos11[16];         // X position of Y strips in MC11
77   Float_t fYpos11[31];         // Y position of X strips in MC11
78   Float_t fYpos21[63];         // Y position of X strips in MC21
79
80 };
81 #endif
82
83
84