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 */
7 // Revision of includes 07/05/2004
10 /// \class AliMUONTriggerCircuit
11 /// \brief MUON Trigger circuit
13 // Author Philippe Crochet (LPCCFd)
16 #include <TObjArray.h>
18 #include "AliMUONGeometryTransformer.h"
19 #include "AliMpVSegmentation.h"
22 class AliMUONTriggerCrateStore;
23 class AliMUONGeometryTransformer;
25 class AliMUONTriggerCircuit : public TObject
28 AliMUONTriggerCircuit();
29 virtual ~AliMUONTriggerCircuit();
31 AliMUONTriggerCircuit(const AliMUONTriggerCircuit& AliMUONTriggerCircuit);
32 // assignment operator
33 AliMUONTriggerCircuit& operator=(const AliMUONTriggerCircuit& AliMUONTriggerCircuit);
36 void Init(Int_t iCircuit, const AliMUONTriggerCrateStore& crates);
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,
46 Int_t DetElemId(Int_t ichamber, const char* localBoardName);
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);
52 /// Set pointer to transformations
53 void SetTransformer(const AliMUONGeometryTransformer* transformer) {fTransformer = transformer;}
57 void LoadYPos(const AliMUONTriggerCrateStore& crates);
58 void LoadXPos(const AliMUONTriggerCrateStore& crates);
59 Int_t FirstStrip(const char* localBoardName);
61 void FillXstrips(const AliMpVSegmentation* seg,
62 const Int_t detElemId, const Int_t icol,
63 const Int_t iFirstStrip, const Int_t iLastStrip,
64 Int_t liStripCircuit, Float_t *tab);
66 void FillYstrips(const AliMpVSegmentation* seg,
67 const Int_t detElemId, const Int_t iFirstStrip,
68 const Int_t iLastStrip, Int_t liStripCircuit,
69 const Bool_t doubling);
71 void XYGlobal(Int_t detElemId, const AliMpPad& pad,
72 Double_t xyGlobal[4]);
76 Int_t fILocalBoard; ///< local board number
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
81 const AliMUONGeometryTransformer* fTransformer; //!< pointer to transformation
83 ClassDef(AliMUONTriggerCircuit,1) // Trigger Circuit class