#ifndef ALIPHOSTRIGGERRAWDIGIPRODUCER_H
#define ALIPHOSTRIGGERRAWDIGIPRODUCER_H
class AliPHOSTriggerRawReader;
class AliPHOSTriggerParameters;
class AliRawReader;
class AliCaloRawStreamV3;
#include "TString.h"
#include "TClonesArray.h"
#include <vector>
class AliPHOSTriggerRawDigiProducer
{
public:
AliPHOSTriggerRawDigiProducer();
AliPHOSTriggerRawDigiProducer(AliRawReader *rawReader);
virtual ~AliPHOSTriggerRawDigiProducer();
void ProcessEvent(TClonesArray* tdigits);
void SetTriggerParameters(AliPHOSTriggerParameters* parameters) {fParameters = parameters;}
void SetAnalyseModule(int mod, bool analyse = true) {fModules[mod] = analyse;}
static int Get2x2Max(AliPHOSTriggerRawReader*, AliPHOSTriggerParameters*, int mod, int xIdx, int zIdx);
static int Get2x2Signal(AliPHOSTriggerRawReader*, AliPHOSTriggerParameters*, int mod, int xIdx, int zIdx, int timeBin);
static int Get4x4Max(AliPHOSTriggerRawReader*, AliPHOSTriggerParameters*, int mod, int TRURow, int branch, int xIdx, int zIdx);
static int Get4x4Signal(AliPHOSTriggerRawReader*, AliPHOSTriggerParameters*, int mod, int TRURow, int branch, int xIdx, int zIdx, int timeBin);
static bool Is2x2Active(AliPHOSTriggerRawReader*, int mod, int xIdx, int zIdx);
static bool Is2x2Active(AliPHOSTriggerRawReader*, int mod, int xIdx, int zIdx, int timeBin);
const static int kNMods = 5;
const static int kNTRURows = 4;
const static int kNBranches = 2;
const static int kN2x2X = 32;
const static int kN2x2Z = 28;
const static Int_t kN2x2XPrTRURow = 8;
const static Int_t kN2x2ZPrBranch = 14;
const static Int_t kN4x4XPrTRURow = 7;
const static Int_t kN4x4ZPrBranch = 13;
const static int kNTRUTimeBins = 128;
const static int kNDefaultNEMCTimeBins = 62;
private:
AliPHOSTriggerRawDigiProducer(const AliPHOSTriggerRawDigiProducer &tdp);
AliPHOSTriggerRawDigiProducer& operator= (const AliPHOSTriggerRawDigiProducer &tdp);
protected:
std::vector<bool> fModules;
UShort_t fSaturationThreshold;
AliPHOSTriggerParameters* fParameters;
private:
AliRawReader * fRawReader;
AliCaloRawStreamV3 * fRawStream;
AliPHOSTriggerRawReader * fTriggerReader;
ClassDef(AliPHOSTriggerRawDigiProducer,1)
};
#endif
AliPHOSTriggerRawDigiProducer.h:1 AliPHOSTriggerRawDigiProducer.h:2 AliPHOSTriggerRawDigiProducer.h:3 AliPHOSTriggerRawDigiProducer.h:4 AliPHOSTriggerRawDigiProducer.h:5 AliPHOSTriggerRawDigiProducer.h:6 AliPHOSTriggerRawDigiProducer.h:7 AliPHOSTriggerRawDigiProducer.h:8 AliPHOSTriggerRawDigiProducer.h:9 AliPHOSTriggerRawDigiProducer.h:10 AliPHOSTriggerRawDigiProducer.h:11 AliPHOSTriggerRawDigiProducer.h:12 AliPHOSTriggerRawDigiProducer.h:13 AliPHOSTriggerRawDigiProducer.h:14 AliPHOSTriggerRawDigiProducer.h:15 AliPHOSTriggerRawDigiProducer.h:16 AliPHOSTriggerRawDigiProducer.h:17 AliPHOSTriggerRawDigiProducer.h:18 AliPHOSTriggerRawDigiProducer.h:19 AliPHOSTriggerRawDigiProducer.h:20 AliPHOSTriggerRawDigiProducer.h:21 AliPHOSTriggerRawDigiProducer.h:22 AliPHOSTriggerRawDigiProducer.h:23 AliPHOSTriggerRawDigiProducer.h:24 AliPHOSTriggerRawDigiProducer.h:25 AliPHOSTriggerRawDigiProducer.h:26 AliPHOSTriggerRawDigiProducer.h:27 AliPHOSTriggerRawDigiProducer.h:28 AliPHOSTriggerRawDigiProducer.h:29 AliPHOSTriggerRawDigiProducer.h:30 AliPHOSTriggerRawDigiProducer.h:31 AliPHOSTriggerRawDigiProducer.h:32 AliPHOSTriggerRawDigiProducer.h:33 AliPHOSTriggerRawDigiProducer.h:34 AliPHOSTriggerRawDigiProducer.h:35 AliPHOSTriggerRawDigiProducer.h:36 AliPHOSTriggerRawDigiProducer.h:37 AliPHOSTriggerRawDigiProducer.h:38 AliPHOSTriggerRawDigiProducer.h:39 AliPHOSTriggerRawDigiProducer.h:40 AliPHOSTriggerRawDigiProducer.h:41 AliPHOSTriggerRawDigiProducer.h:42 AliPHOSTriggerRawDigiProducer.h:43 AliPHOSTriggerRawDigiProducer.h:44 AliPHOSTriggerRawDigiProducer.h:45 AliPHOSTriggerRawDigiProducer.h:46 AliPHOSTriggerRawDigiProducer.h:47 AliPHOSTriggerRawDigiProducer.h:48 AliPHOSTriggerRawDigiProducer.h:49 AliPHOSTriggerRawDigiProducer.h:50 AliPHOSTriggerRawDigiProducer.h:51 AliPHOSTriggerRawDigiProducer.h:52 AliPHOSTriggerRawDigiProducer.h:53 AliPHOSTriggerRawDigiProducer.h:54 AliPHOSTriggerRawDigiProducer.h:55 AliPHOSTriggerRawDigiProducer.h:56 AliPHOSTriggerRawDigiProducer.h:57 AliPHOSTriggerRawDigiProducer.h:58 AliPHOSTriggerRawDigiProducer.h:59 AliPHOSTriggerRawDigiProducer.h:60 AliPHOSTriggerRawDigiProducer.h:61 AliPHOSTriggerRawDigiProducer.h:62 AliPHOSTriggerRawDigiProducer.h:63 AliPHOSTriggerRawDigiProducer.h:64 AliPHOSTriggerRawDigiProducer.h:65 AliPHOSTriggerRawDigiProducer.h:66 AliPHOSTriggerRawDigiProducer.h:67