]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerCircuit.h
New parametrization of the geometry and new geometry interface (Working week effort)
[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 #include "AliSegmentation.h"
13
14 class TObjArray;
15
16 class AliMUONTriggerCircuit : public TObject 
17 {
18  public: 
19   AliMUONTriggerCircuit();  
20   virtual ~AliMUONTriggerCircuit(){;} 
21
22   // initializations
23   void Init(Int_t iCircuit);    
24   
25   // get calculated pt
26   Float_t PtCal(Int_t istripX, Int_t idev, Int_t istripY);
27
28   //--- methods which return member data related info
29   Int_t   GetIdCircuit() const;
30   Int_t   GetIdModule() const;
31   Int_t   GetNstripX() const;
32   Int_t   GetNstripY() const;
33   Int_t   GetPosCircuit() const;
34   Int_t   GetIdCircuitD() const;
35   Int_t   GetICircuitD() const;
36   Int_t   GetIdCircuitU() const;
37   Int_t   GetICircuitU() const;
38   Int_t   GetX2m() const;
39   Int_t   GetX2ud() const;
40   void    GetOrMud(Int_t orMud[2]) const;
41   Int_t   GetXcode(Int_t chamber, Int_t istrip) const;
42   Int_t   GetYcode(Int_t chamber, Int_t istrip) const;
43   Float_t GetY11Pos(Int_t istrip) const;
44   Float_t GetY21Pos(Int_t istrip) const;
45   Float_t GetX11Pos(Int_t istrip) const;
46  
47   //  Get reference to segmentation model
48   virtual AliSegmentation*  SegmentationModel(Int_t isec) {
49       return (AliSegmentation *) (*fSegmentation)[isec-1];
50   }
51
52  protected:
53   // copy constructor
54   AliMUONTriggerCircuit(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); 
55   // assignment operator
56   AliMUONTriggerCircuit& operator=(const AliMUONTriggerCircuit& AliMUONTriggerCircuit); 
57
58   TObjArray            *fSegmentation;    // pointer to segmentation
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 LoadYPos();
69   void LoadXPos();
70   
71   ClassDef(AliMUONTriggerCircuit,1) // Trigger Circuit class
72     
73  private:    
74   Int_t fIdCircuit;            // circuit Id number
75   Int_t fX2m;                  // internal info needed by TriggerDecision
76   Int_t fX2ud;                 // internal info needed by TriggerDecision
77   Int_t fOrMud[2];             // internal info needed by TriggerDecision
78   Int_t fXcode[4][32];         // code of X strips
79   Int_t fYcode[4][32];         // code of Y strips 
80   Float_t fXpos11[16];         // X position of Y strips in MC11
81   Float_t fYpos11[31];         // Y position of X strips in MC11
82   Float_t fYpos21[63];         // Y position of X strips in MC21
83
84 };
85 #endif
86
87
88