]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSRcuHistogramProducer.h
New class structure
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRcuHistogramProducer.h
CommitLineData
792f66f1 1#ifndef ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
2#define ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
3
4/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7#include "AliHLTPHOSDefinitions.h"
8#include "AliHLTPHOSCommonDefs.h"
9#include "TH1.h"
10//#include "AliHLTPHOSModuleCellAccumulatedEnergyDataStruct.h"
11#include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h"
12
13#define XBIN_LOW 0
14#define XBIN_UP 1023
15#define N_BINS 1023
16
17class AliHLTPHOSRcuHistogramProducer
18{
19 public:
20 AliHLTPHOSRcuHistogramProducer();
21 AliHLTPHOSRcuHistogramProducer(AliHLTUInt8_t moduleID, AliHLTUInt8_t rcuX, AliHLTUInt8_t rcuZ);
22
23 virtual ~AliHLTPHOSRcuHistogramProducer();
24 int GetEquippmentId();
25 const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct& GetCellAccumulatedEnergies();
26 int IncrementEventCounter();
27 void Init();
28 void SetEquippmentId(int id);
29 void SetRcuX(AliHLTUInt8_t X);
30 void SetRcuZ(AliHLTUInt8_t Z);
31 void SetModuleID(AliHLTUInt8_t moduleID);
32 void FillEnergy(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float energy);
33 void FillTime(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float time);
34 void Reset();
35 void WriteEnergyHistograms();
36
37
38 protected:
39
40 private:
41 AliHLTPHOSRcuHistogramProducer(const AliHLTPHOSRcuHistogramProducer & );
42 AliHLTPHOSRcuHistogramProducer & operator = (const AliHLTPHOSRcuHistogramProducer &)
43 {
44 return *this;
45 };
46
47 TH1F *fEnergyHistogramPtrs[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
48 TH1F *fTimingHistogramPtrs[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
49
50 Float_t fEnergyAverageValues[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
51 Double_t fAccumulatedValues[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
52 Float_t fTimingAverageValues[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
53 AliHLTUInt32_t fHits[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
54 int fEventCount;
55 AliHLTUInt32_t fEquippmentID;
56 Double_t fTmpChannelData[ALTRO_MAX_SAMPLES];
57 // AliHLTPHOSModuleCellAccumulatedEnergyDataStruct* fOutPtr;
58 AliHLTPHOSRcuCellAccumulatedEnergyDataStruct fCellAccEnergy;
59 // AliHLTPHOSRcuCellAccumulatedEnergyDataStruct* fOutPtr;
60 AliHLTUInt8_t fModuleID;
61 AliHLTUInt8_t fRcuX;
62 AliHLTUInt8_t fRcuZ;
63};
64
65#endif