TRD module
[u/mrichter/AliRoot.git] / TRD / TRDsim / AliTRDptrgTLMU.h
CommitLineData
f9720615 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
17class AliRunLoader;
18
19class AliTRDptrgParam;
20
21class AliTRDptrgTLMU : public TObject {
22 public:
23 AliTRDptrgTLMU(AliRunLoader *rl = 0x0);
24 AliTRDptrgTLMU(AliRunLoader *rl, AliTRDptrgParam *param,
89ae5c14 25 AliTRDptrgParam::AliTRDptrgOperatingMode_t operatingMode);
f9720615 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
89ae5c14 53 AliTRDptrgParam::AliTRDptrgOperatingMode_t fOperatingMode; // working on Digits or Hits?
f9720615 54
55 const UInt_t* fInputMask; // input mask for TOF-bits (18x32=576)
e51605d9 56 UInt_t fTOFinputBits[18]; // input bits from TOF (18x32)
f9720615 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 ClassDef(AliTRDptrgTLMU, 1);
74};
75
76#endif