]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerCircuitNew.h
Adding MuonSim.SetMakeTrigger(MUON); now required by the new CTP framework (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCircuitNew.h
CommitLineData
66d6c51b 1#ifndef ALIMUONTRIGGERCIRCUITNEW_H
2#define ALIMUONTRIGGERCIRCUITNEW_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/// \ingroup base
10/// \class AliMUONTriggerCircuitNew
11/// \brief MUON Trigger circuit
12///
13/// \author Philippe Crochet (LPCCFd)
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;
23
24class AliMUONTriggerCircuitNew : public TObject
25{
26public:
27 AliMUONTriggerCircuitNew();
28 virtual ~AliMUONTriggerCircuitNew(){;}
29
30 // initializations
31 void Init(Int_t iCircuit, const AliMUONTriggerCrateStore& crates);
32
33 //--- methods which return member data related info
34 Float_t GetY11Pos(Int_t istrip) const;
35 Float_t GetY21Pos(Int_t istrip) const;
36 Float_t GetX11Pos(Int_t istrip) const;
37 Int_t DetElemId(Int_t ichamber, char side, Int_t iline);
38 void DecodeBoardName(const char* boardName, char& side,
39 Int_t& iLine,
40 Int_t& iCol);
41 Int_t DetElemId(Int_t ichamber, const char* localBoardName);
42
43 // void Print(Option_t* opt="") const;
44 // void dump(const char* what, const Float_t* array, Int_t size);
45 // void dump(const char* what, const Int_t* array, Int_t size);
46
47protected:
48 // copy constructor
49 AliMUONTriggerCircuitNew(const AliMUONTriggerCircuitNew& AliMUONTriggerCircuitNew);
50 // assignment operator
51 AliMUONTriggerCircuitNew& operator=(const AliMUONTriggerCircuitNew& AliMUONTriggerCircuitNew);
52
53private:
54 void LoadYPos(const AliMUONTriggerCrateStore& crates);
55 void LoadXPos(const AliMUONTriggerCrateStore& crates);
56 Int_t FirstStrip(const char* localBoardName);
57 void FillXstrips(const AliMUONGeometryTransformer* kGeomTransformer,
58 const AliMpVSegmentation* seg,
59 const Int_t detElemId, const Int_t icol,
60 const Int_t iFirstStrip, const Int_t iLastStrip,
61 Int_t liStripCircuit, Float_t *tab);
62
63 void FillYstrips(const AliMUONGeometryTransformer* kGeomTransformer,
64 const AliMpVSegmentation* seg,
65 const Int_t detElemId, const Int_t iFirstStrip,
66 const Int_t iLastStrip, Int_t liStripCircuit,
67 const Bool_t doubling);
68 void XYGlobal(
69 const AliMUONGeometryTransformer* kGeomTransformer,
70 Int_t detElemId, const AliMpPad& pad,
71 Double_t xyGlobal[4]);
72
73 ClassDef(AliMUONTriggerCircuitNew,1) // Trigger Circuit class
74
75private:
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
80
81};
82#endif