]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDptrgTLMU.h
adapted to new version of FitRobust
[u/mrichter/AliRoot.git] / TRD / AliTRDptrgTLMU.h
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   ClassDef(AliTRDptrgTLMU, 1);
74 };
75
76 #endif