Line data Source code
1 : #ifndef AliTRDPTRGTLMU_H
2 : #define AliTRDPTRGTLMU_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 :
8 : // --------------------------------------------------------
9 : //
10 : // PTRG simulation
11 : //
12 : // --------------------------------------------------------
13 :
14 : #include "TObject.h"
15 : #include "AliTRDptrgParam.h"
16 :
17 : class AliRunLoader;
18 :
19 : class AliTRDptrgParam;
20 :
21 : class AliTRDptrgTLMU : public TObject {
22 : public:
23 : AliTRDptrgTLMU(AliRunLoader *rl = 0x0);
24 : AliTRDptrgTLMU(AliRunLoader *rl, AliTRDptrgParam *param,
25 : AliTRDptrgParam::AliTRDptrgOperatingMode_t operatingMode);
26 : ~AliTRDptrgTLMU();
27 :
28 : Int_t* Simulate(); // starts a simulation
29 :
30 :
31 : protected:
32 : Bool_t LoadParams(); // load AliTRDprtgParam content
33 :
34 : // functions for input data processing ---------------------------------------
35 : Int_t LoadDigits(); // loads Digits (for usage with aquired data)
36 : void GetInputBits(); // Gets TOF-to-TRD bits from AliTOFTrigger
37 :
38 : // logical functions ---------------------------------------------------------
39 : Int_t BackToBack(Int_t iSM, Int_t range = 0); // Back-To-Back check
40 : // (for +-1 and so on) SM0 and SM8, SM9, SM10 (range == 1)
41 : Int_t Coincidence(Int_t iSM1, Int_t iSM2); // more flexible version of
42 : // BackToBack(..)
43 : inline Int_t Or(Int_t iSM); // returns >=1 for iSM
44 : Int_t GetMultiplicity(Int_t iSM); // returns multiplicity of supermodule iSM
45 : Int_t GetMultiplicitySum(); // returns the multiplicity of the whole detector
46 :
47 : UInt_t GetBitVectorMultiplicity(UInt_t BitVector);
48 : // returns the multiplicity of a bit vector
49 :
50 : // variables -----------------------------------------------------------------
51 : AliRunLoader *fRunLoader; //!
52 : AliTRDptrgParam *fParam; // Configuration parameter object
53 : AliTRDptrgParam::AliTRDptrgOperatingMode_t fOperatingMode; // working on Digits or Hits?
54 :
55 : const UInt_t* fInputMask; // input mask for TOF-bits (18x32=576)
56 : UInt_t fTOFinputBits[18]; // input bits from TOF (18x32)
57 :
58 : UInt_t** fCMatrices; // get coincidence matrices
59 : UInt_t** fMultiplicity; // get multiplicity slices
60 : Int_t** fOutput; // get output signal assignment
61 :
62 : private:
63 : AliTRDptrgTLMU& operator=(const AliTRDptrgTLMU &rhs); // not implemented
64 : AliTRDptrgTLMU(const AliTRDptrgTLMU &rhs); // not implemented
65 :
66 : enum{
67 : kNLTM = 72, //Number of LTM
68 : kNLTMchannels = 48, //Number of channels in a LTM
69 : kNCTTM = 36, //Number of CTTM per TOF side
70 : kNCTTMchannels = 24 //Number of channels in a CTTM
71 : };
72 :
73 1054 : ClassDef(AliTRDptrgTLMU, 1);
74 : };
75 :
76 : #endif
|