Fixes
[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>
7103ac2d 16#include <TArrayF.h>
17
8ff54bb6 18#include "AliMpPad.h"
8ff54bb6 19#include "AliMpVSegmentation.h"
7103ac2d 20#include "AliMUONGeometryTransformer.h"
8ff54bb6 21
7103ac2d 22class AliMpLocalBoard;
8ff54bb6 23
24class AliMUONTriggerCircuit : public TObject
25{
26public:
7103ac2d 27 AliMUONTriggerCircuit(const AliMUONGeometryTransformer* transformer);
8ff54bb6 28 virtual ~AliMUONTriggerCircuit();
29 // copy constructor
30 AliMUONTriggerCircuit(const AliMUONTriggerCircuit& AliMUONTriggerCircuit);
31 // assignment operator
32 AliMUONTriggerCircuit& operator=(const AliMUONTriggerCircuit& AliMUONTriggerCircuit);
33
8ff54bb6 34 //--- methods which return member data related info
7103ac2d 35 Float_t GetY11Pos(Int_t localBoardId, Int_t istrip) const;
36 Float_t GetY21Pos(Int_t localBoardId, Int_t istrip) const;
37 Float_t GetX11Pos(Int_t localBoardId, Int_t istrip) const;
38
8ff54bb6 39 // void Print(Option_t* opt="") const;
40 // void dump(const char* what, const Float_t* array, Int_t size);
41 // void dump(const char* what, const Int_t* array, Int_t size);
42
71a2d3aa 43 /// Set pointer to transformations
8ff54bb6 44 void SetTransformer(const AliMUONGeometryTransformer* transformer) {fTransformer = transformer;}
745f40c7 45 /// Get pointer to transformations
7103ac2d 46 const AliMUONGeometryTransformer* GetTransformer() const {return fTransformer;}
afeb2b33 47 Float_t PtCal(Int_t localBoardId, Int_t istripX, Int_t idev, Int_t istripY) const;
48
8ff54bb6 49private:
50
7103ac2d 51 void LoadYPos(AliMpLocalBoard* localBoard);
52 void LoadXPos(AliMpLocalBoard* localBoard);
8ff54bb6 53
7103ac2d 54 Int_t FirstStrip(AliMpLocalBoard* localBoard);
55
56 void FillXstrips(const Int_t icol,
8ff54bb6 57 const Int_t iFirstStrip, const Int_t iLastStrip,
7103ac2d 58 Int_t liStripCircuit, TArrayF& ypos);
8ff54bb6 59
7103ac2d 60 void FillYstrips(const Int_t iFirstStrip,
8ff54bb6 61 const Int_t iLastStrip, Int_t liStripCircuit,
62 const Bool_t doubling);
63
7103ac2d 64 void XYGlobal(const AliMpPad& pad,
65 Double_t* xyGlobal);
8ff54bb6 66
67
68private:
7103ac2d 69 TArrayF fXpos11[235]; ///< X position of Y strips in MC11
70 TArrayF fYpos11[235]; ///< Y position of X strips in MC11
71 TArrayF fYpos21[235]; ///< Y position of X strips in MC21
8ff54bb6 72
73 const AliMUONGeometryTransformer* fTransformer; //!< pointer to transformation
7103ac2d 74 const AliMpVSegmentation* fCurrentSeg; //!< current segmentation
75
76 Int_t fCurrentDetElem; //!< current detection elt id
77 Int_t fCurrentLocalBoard; //!< current local board id
8ff54bb6 78
79 ClassDef(AliMUONTriggerCircuit,1) // Trigger Circuit class
80};
81#endif