]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerCircuit.h
12-sep-2006 NvE Memberfunctions GetNslots and AddNamedSlot introduced and various
[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 /// \author Philippe Crochet (LPCCFd)
14
15 #include <TObject.h>
16 #include <TObjArray.h>
17
18 class TObjArray;
19
20 class AliMUONTriggerCircuit : public TObject 
21 {
22  public: 
23   AliMUONTriggerCircuit();  
24   virtual ~AliMUONTriggerCircuit();
25
26   // initializations
27   void Init(Int_t iCircuit);    
28   
29   // get calculated pt
30   Float_t PtCal(Int_t istripX, Int_t idev, Int_t istripY);
31
32   //--- methods which return member data related info
33   Int_t   GetIdCircuit() const;
34   Int_t   GetIdModule() const;
35   Int_t   GetNstripX() const;
36   Int_t   GetNstripY() const;
37   Int_t   GetPosCircuit() const;
38   Int_t   GetIdCircuitD() const;
39   Int_t   GetICircuitD() const;
40   Int_t   GetIdCircuitU() const;
41   Int_t   GetICircuitU() const;
42   Int_t   GetX2m() const;
43   Int_t   GetX2ud() const;
44   void    GetOrMud(Int_t orMud[2]) const;
45   Int_t   GetXcode(Int_t chamber, Int_t istrip) const;
46   Int_t   GetYcode(Int_t chamber, Int_t istrip) const;
47   Float_t GetY11Pos(Int_t istrip) const;
48   Float_t GetY21Pos(Int_t istrip) const;
49   Float_t GetX11Pos(Int_t istrip) const;
50   Int_t   DetElemId(Int_t ichamber, Int_t idModule);
51
52   void Print(Option_t* opt="") const;
53   
54  protected:
55   // copy constructor
56   AliMUONTriggerCircuit(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); 
57   // assignment operator
58   AliMUONTriggerCircuit& operator=(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); 
59
60  private:
61   Int_t CircuitNumber(Int_t idCircuit) const;
62   Int_t ModuleNumber(Int_t idModule) const; 
63   Int_t Module(Int_t idCircuit) const;
64   Int_t Position(Int_t idCircuit) const;
65   void LoadX2();
66   void LoadXCode();
67   void LoadYCode();
68   void LoadYPos2();
69   void LoadXPos2();
70    
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
81   ClassDef(AliMUONTriggerCircuit,1) // Trigger Circuit class
82 };
83 #endif
84
85
86