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