]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerCircuit.h
Implemented new segmentation for global and local trigger (Ph. Crochet & Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCircuit.h
CommitLineData
a9e2aefa 1#ifndef ALIMUONTRIGGERCIRCUIT_H
2#define ALIMUONTRIGGERCIRCUIT_H
30178c30 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
a9e2aefa 5
30178c30 6/* $Id$ */
7// Revision of includes 07/05/2004
a9e2aefa 8
30178c30 9#include <TObject.h>
10#include <TObjArray.h>
11
331dcacd 12class AliSegmentation;
13class AliMUONGeometrtSegmentation;
30178c30 14
15class TObjArray;
16
17class AliMUONTriggerCircuit : public TObject
18{
a9e2aefa 19 public:
20 AliMUONTriggerCircuit();
21 virtual ~AliMUONTriggerCircuit(){;}
a9e2aefa 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
30178c30 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;
331dcacd 47 Int_t DetElemId(Int_t ichamber, Int_t idModule);
a9e2aefa 48
49 protected:
30178c30 50 // copy constructor
51 AliMUONTriggerCircuit(const AliMUONTriggerCircuit& AliMUONTriggerCircuit);
52 // assignment operator
53 AliMUONTriggerCircuit& operator=(const AliMUONTriggerCircuit& AliMUONTriggerCircuit);
54
a9e2aefa 55 private:
30178c30 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;
a9e2aefa 60 void LoadX2();
61 void LoadXCode();
62 void LoadYCode();
63 void LoadYPos();
64 void LoadXPos();
331dcacd 65 void LoadYPos2();
66 void LoadXPos2();
67
a9e2aefa 68 ClassDef(AliMUONTriggerCircuit,1) // Trigger Circuit class
69
70 private:
ecfa008b 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
a9e2aefa 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
331dcacd 80 // Int_t fSegmentationType; // segmentation old / new
a9e2aefa 81
82};
83#endif
84
85
86