]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerCircuit.h
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCircuit.h
CommitLineData
8ff54bb6 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//
c1975ba7 9/// \ingroup trigger
8ff54bb6 10/// \class AliMUONTriggerCircuit
11/// \brief MUON Trigger circuit
12///
78649106 13// Author Philippe Crochet (LPCCFd)
8ff54bb6 14
15#include <TObject.h>
16#include <TObjArray.h>
17#include "AliMpPad.h"
18#include "AliMUONGeometryTransformer.h"
19#include "AliMpVSegmentation.h"
20
21class TObjArray;
22class AliMUONTriggerCrateStore;
23class AliMUONGeometryTransformer;
24
25class AliMUONTriggerCircuit : public TObject
26{
27public:
28 AliMUONTriggerCircuit();
29 virtual ~AliMUONTriggerCircuit();
30 // copy constructor
31 AliMUONTriggerCircuit(const AliMUONTriggerCircuit& AliMUONTriggerCircuit);
32 // assignment operator
33 AliMUONTriggerCircuit& operator=(const AliMUONTriggerCircuit& AliMUONTriggerCircuit);
34
35 // initializations
36 void Init(Int_t iCircuit, const AliMUONTriggerCrateStore& crates);
37
38 //--- methods which return member data related info
39 Float_t GetY11Pos(Int_t istrip) const;
40 Float_t GetY21Pos(Int_t istrip) const;
41 Float_t GetX11Pos(Int_t istrip) const;
42 Int_t DetElemId(Int_t ichamber, char side, Int_t iline);
43 void DecodeBoardName(const char* boardName, char& side,
44 Int_t& iLine,
45 Int_t& iCol);
46 Int_t DetElemId(Int_t ichamber, const char* localBoardName);
47
48 // void Print(Option_t* opt="") const;
49 // void dump(const char* what, const Float_t* array, Int_t size);
50 // void dump(const char* what, const Int_t* array, Int_t size);
51
71a2d3aa 52 /// Set pointer to transformations
8ff54bb6 53 void SetTransformer(const AliMUONGeometryTransformer* transformer) {fTransformer = transformer;}
745f40c7 54 /// Get pointer to transformations
55 const AliMUONGeometryTransformer* GetTransformer() {return fTransformer;}
8ff54bb6 56
57private:
58
59 void LoadYPos(const AliMUONTriggerCrateStore& crates);
60 void LoadXPos(const AliMUONTriggerCrateStore& crates);
61 Int_t FirstStrip(const char* localBoardName);
62
63 void FillXstrips(const AliMpVSegmentation* seg,
64 const Int_t detElemId, const Int_t icol,
65 const Int_t iFirstStrip, const Int_t iLastStrip,
66 Int_t liStripCircuit, Float_t *tab);
67
68 void FillYstrips(const AliMpVSegmentation* seg,
69 const Int_t detElemId, const Int_t iFirstStrip,
70 const Int_t iLastStrip, Int_t liStripCircuit,
71 const Bool_t doubling);
72
73 void XYGlobal(Int_t detElemId, const AliMpPad& pad,
74 Double_t xyGlobal[4]);
75
76
77private:
78 Int_t fILocalBoard; ///< local board number
79 Float_t fXpos11[16]; ///< X position of Y strips in MC11
80 Float_t fYpos11[31]; ///< Y position of X strips in MC11
81 Float_t fYpos21[63]; ///< Y position of X strips in MC21
82
83 const AliMUONGeometryTransformer* fTransformer; //!< pointer to transformation
84
85 ClassDef(AliMUONTriggerCircuit,1) // Trigger Circuit class
86};
87#endif