#ifndef ALIVZEROTRIGGERDATA_H
#define ALIVZEROTRIGGERDATA_H
#include <TNamed.h>
#include "AliVZERODataFEE.h"
class AliVZEROTriggerData : public TNamed {
public:
AliVZEROTriggerData();
AliVZEROTriggerData(Int_t nRun, UInt_t startTime, UInt_t endTime);
~AliVZEROTriggerData();
void FillData(AliVZERODataFEE * data);
void SetClk1Win1(UShort_t* clks);
void SetClk1Win1(UShort_t clk, Int_t board);
void SetClk2Win1(UShort_t* clks);
void SetClk2Win1(UShort_t clk, Int_t board);
void SetClk1Win2(UShort_t* clks);
void SetClk1Win2(UShort_t clk, Int_t board);
void SetClk2Win2(UShort_t* clks);
void SetClk2Win2(UShort_t clk, Int_t board);
void SetDelayClk1Win1(UShort_t* delays);
void SetDelayClk1Win1(UShort_t delay, Int_t board);
void SetDelayClk2Win1(UShort_t* delays);
void SetDelayClk2Win1(UShort_t delay, Int_t board);
void SetDelayClk1Win2(UShort_t* delays);
void SetDelayClk1Win2(UShort_t delay, Int_t board);
void SetDelayClk2Win2(UShort_t* delays);
void SetDelayClk2Win2(UShort_t delay, Int_t board);
void SetLatchWin1(UShort_t *latchs);
void SetLatchWin1(UShort_t latch, Int_t board);
void SetLatchWin2(UShort_t *latchs);
void SetLatchWin2(UShort_t latch, Int_t board);
void SetResetWin1(UShort_t *resets);
void SetResetWin1(UShort_t reset, Int_t board);
void SetResetWin2(UShort_t *resets);
void SetResetWin2(UShort_t reset, Int_t board);
void SetPedestalSubtraction(Bool_t *peds);
void SetPedestalSubtraction(Bool_t ped, Int_t board);
void SetBBAThreshold(UShort_t th) {fBBAThreshold = th;};
void SetBBCThreshold(UShort_t th) {fBBCThreshold = th;};
void SetBGAThreshold(UShort_t th) {fBGAThreshold = th;};
void SetBGCThreshold(UShort_t th) {fBGCThreshold = th;};
void SetBBAForBGThreshold(UShort_t th) {fBBAForBGThreshold = th;};
void SetBBCForBGThreshold(UShort_t th) {fBBCForBGThreshold = th;};
void SetCentralityV0AThrLow(UShort_t th) {fCentralityVOAThrLow = th;};
void SetCentralityV0AThrHigh(UShort_t th) {fCentralityVOAThrHigh = th;};
void SetCentralityV0CThrLow(UShort_t th) {fCentralityVOCThrLow = th;};
void SetCentralityV0CThrHigh(UShort_t th) {fCentralityVOCThrHigh = th;};
void SetMultV0AThrLow(UShort_t th) {fMultV0AThrLow = th;};
void SetMultV0AThrHigh(UShort_t th) {fMultV0AThrHigh = th;};
void SetMultV0CThrLow(UShort_t th) {fMultV0CThrLow = th;};
void SetMultV0CThrHigh(UShort_t th) {fMultV0CThrHigh = th;};
void SetTriggerSelected(UShort_t trigger, Int_t output);
void SetEnableCharge(Bool_t val, Int_t board, Int_t channel);
void SetEnableTiming(Bool_t val, Int_t board, Int_t channel);
void SetDiscriThr(UShort_t val, Int_t board, Int_t channel);
void SetDelayHit(UShort_t val, Int_t board, Int_t channel);
void SetPedestal(UShort_t val, Int_t integrator, Int_t board, Int_t channel);
void SetPedestalCut(UShort_t val, Int_t integrator, Int_t board, Int_t channel);
UShort_t * GetClk1Win1() const {return (UShort_t*)fClk1Win1;};
UShort_t GetClk1Win1(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fClk1Win1[board]:0);};
UShort_t * GetClk2Win1() const {return (UShort_t*)fClk2Win1;};
UShort_t GetClk2Win1(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fClk2Win1[board]:0);};
UShort_t * GetClk1Win2() const {return (UShort_t*)fClk1Win2;};
UShort_t GetClk1Win2(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fClk1Win2[board]:0);};
UShort_t * GetClk2Win2() const {return (UShort_t*)fClk2Win2;};
UShort_t GetClk2Win2(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fClk2Win2[board]:0);};
UShort_t * GetDelayClk1Win1() const {return (UShort_t*)fDelayClk1Win1;};
UShort_t GetDelayClk1Win1(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fDelayClk1Win1[board]:0);};
UShort_t * GetDelayClk2Win1() const {return (UShort_t*)fDelayClk2Win1;};
UShort_t GetDelayClk2Win1(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fDelayClk2Win1[board]:0);};
UShort_t * GetDelayClk1Win2() const {return (UShort_t*)fDelayClk1Win2;};
UShort_t GetDelayClk1Win2(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fDelayClk1Win2[board]:0);};
UShort_t * GetDelayClk2Win2() const {return (UShort_t*)fDelayClk2Win2;};
UShort_t GetDelayClk2Win2(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fDelayClk2Win2[board]:0);};
UShort_t * GetLatchWin1() const {return (UShort_t*)fLatchWin1;};
UShort_t GetLatchWin1(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fLatchWin1[board]:0);};
UShort_t * GetLatchWin2() const {return (UShort_t*)fLatchWin2;};
UShort_t GetLatchWin2(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fLatchWin2[board]:0);};
UShort_t * GetResetWin1() const {return (UShort_t*)fResetWin1;};
UShort_t GetResetWin1(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fResetWin1[board]:0);};
UShort_t * GetResetWin2() const {return (UShort_t*)fResetWin2;};
UShort_t GetResetWin2(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fResetWin2[board]:0);};
Bool_t * GetPedestalSubtraction() const {return (Bool_t*) fPedestalSubtraction;};
Bool_t GetPedestalSubtraction(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fPedestalSubtraction[board]:0);};
UShort_t GetBBAThreshold() const {return fBBAThreshold;};
UShort_t GetBBCThreshold() const {return fBBCThreshold;};
UShort_t GetBGAThreshold() const {return fBGAThreshold;};
UShort_t GetBGCThreshold() const {return fBGCThreshold;};
UShort_t GetBBAForBGThreshold() const {return fBBAForBGThreshold;};
UShort_t GetBBCForBGThreshold() const {return fBBCForBGThreshold;};
UShort_t GetCentralityV0AThrLow() const {return fCentralityVOAThrLow;};
UShort_t GetCentralityV0AThrHigh() const {return fCentralityVOAThrHigh;};
UShort_t GetCentralityV0CThrLow() const {return fCentralityVOCThrLow;};
UShort_t GetCentralityV0CThrHigh() const {return fCentralityVOCThrHigh;};
UShort_t GetMultV0AThrLow() const {return fMultV0AThrLow;};
UShort_t GetMultV0AThrHigh() const {return fMultV0AThrHigh;};
UShort_t GetMultV0CThrLow() const {return fMultV0CThrLow;};
UShort_t GetMultV0CThrHigh() const {return fMultV0CThrHigh;};
UShort_t GetTriggerSelected(Int_t output) const {return ((output>=0 && output<kNTriggerOutputs)?fTriggerSelected[output]:0);};
Bool_t GetEnableCharge(Int_t board, Int_t channel);
Bool_t GetEnableTiming(Int_t board, Int_t channel);
UShort_t GetDiscriThr(Int_t board, Int_t channel);
UShort_t GetDelayHit(Int_t board, Int_t channel);
UShort_t GetPedestal(Int_t integrator, Int_t board, Int_t channel);
UShort_t GetPedestalCut(Int_t integrator, Int_t board, Int_t channel);
enum {
kNCIUBoards = AliVZERODataFEE::kNCIUBoards,
kNAliases = AliVZERODataFEE::kNAliases,
kNTriggerOutputs = 5,
kNChannels = 8
};
private:
AliVZEROTriggerData(const AliVZEROTriggerData &);
AliVZEROTriggerData& operator= (const AliVZEROTriggerData &);
UShort_t fClk1Win1[kNCIUBoards];
UShort_t fClk2Win1[kNCIUBoards];
UShort_t fClk1Win2[kNCIUBoards];
UShort_t fClk2Win2[kNCIUBoards];
UShort_t fDelayClk1Win1[kNCIUBoards];
UShort_t fDelayClk2Win1[kNCIUBoards];
UShort_t fDelayClk1Win2[kNCIUBoards];
UShort_t fDelayClk2Win2[kNCIUBoards];
UShort_t fLatchWin1[kNCIUBoards];
UShort_t fLatchWin2[kNCIUBoards];
UShort_t fResetWin1[kNCIUBoards];
UShort_t fResetWin2[kNCIUBoards];
Bool_t fPedestalSubtraction[kNCIUBoards];
UShort_t fBBAThreshold;
UShort_t fBBCThreshold;
UShort_t fBGAThreshold;
UShort_t fBGCThreshold;
UShort_t fBBAForBGThreshold;
UShort_t fBBCForBGThreshold;
UShort_t fCentralityVOAThrLow;
UShort_t fCentralityVOAThrHigh;
UShort_t fCentralityVOCThrLow;
UShort_t fCentralityVOCThrHigh;
UShort_t fMultV0AThrLow;
UShort_t fMultV0AThrHigh;
UShort_t fMultV0CThrLow;
UShort_t fMultV0CThrHigh;
UShort_t fTriggerSelected[kNTriggerOutputs];
Bool_t fEnableCharge[kNCIUBoards][kNChannels];
Bool_t fEnableTiming[kNCIUBoards][kNChannels];
UShort_t fDiscriThr[kNCIUBoards][kNChannels];
UShort_t fDelayHit[kNCIUBoards][kNChannels];
UShort_t fPedestalOdd[kNCIUBoards][kNChannels];
UShort_t fPedestalEven[kNCIUBoards][kNChannels];
UShort_t fPedestalCutOdd[kNCIUBoards][kNChannels];
UShort_t fPedestalCutEven[kNCIUBoards][kNChannels];
Int_t fRun;
Int_t fStartTime;
Int_t fEndTime;
TString fAliasNames[kNAliases];
Bool_t fIsProcessed;
Bool_t IsClkValid(UShort_t clock) const;
void SetParameter(TString name, Int_t val);
ClassDef( AliVZEROTriggerData, 2 )
};
#endif // ALIVZEROTRIGGERDATA_H
AliVZEROTriggerData.h:100 AliVZEROTriggerData.h:101 AliVZEROTriggerData.h:102 AliVZEROTriggerData.h:103 AliVZEROTriggerData.h:104 AliVZEROTriggerData.h:105 AliVZEROTriggerData.h:106 AliVZEROTriggerData.h:107 AliVZEROTriggerData.h:108 AliVZEROTriggerData.h:109 AliVZEROTriggerData.h:110 AliVZEROTriggerData.h:111 AliVZEROTriggerData.h:112 AliVZEROTriggerData.h:113 AliVZEROTriggerData.h:114 AliVZEROTriggerData.h:115 AliVZEROTriggerData.h:116 AliVZEROTriggerData.h:117 AliVZEROTriggerData.h:118 AliVZEROTriggerData.h:119 AliVZEROTriggerData.h:120 AliVZEROTriggerData.h:121 AliVZEROTriggerData.h:122 AliVZEROTriggerData.h:123 AliVZEROTriggerData.h:124 AliVZEROTriggerData.h:125 AliVZEROTriggerData.h:126 AliVZEROTriggerData.h:127 AliVZEROTriggerData.h:128 AliVZEROTriggerData.h:129 AliVZEROTriggerData.h:130 AliVZEROTriggerData.h:131 AliVZEROTriggerData.h:132 AliVZEROTriggerData.h:133 AliVZEROTriggerData.h:134 AliVZEROTriggerData.h:135 AliVZEROTriggerData.h:136 AliVZEROTriggerData.h:137 AliVZEROTriggerData.h:138 AliVZEROTriggerData.h:139 AliVZEROTriggerData.h:140 AliVZEROTriggerData.h:141 AliVZEROTriggerData.h:142 AliVZEROTriggerData.h:143 AliVZEROTriggerData.h:144 AliVZEROTriggerData.h:145 AliVZEROTriggerData.h:146 AliVZEROTriggerData.h:147 AliVZEROTriggerData.h:148 AliVZEROTriggerData.h:149 AliVZEROTriggerData.h:150 AliVZEROTriggerData.h:151 AliVZEROTriggerData.h:152 AliVZEROTriggerData.h:153 AliVZEROTriggerData.h:154 AliVZEROTriggerData.h:155 AliVZEROTriggerData.h:156 AliVZEROTriggerData.h:157 AliVZEROTriggerData.h:158 AliVZEROTriggerData.h:159 AliVZEROTriggerData.h:160 AliVZEROTriggerData.h:161 AliVZEROTriggerData.h:162 AliVZEROTriggerData.h:163 AliVZEROTriggerData.h:164 AliVZEROTriggerData.h:165 AliVZEROTriggerData.h:166 AliVZEROTriggerData.h:167 AliVZEROTriggerData.h:168 AliVZEROTriggerData.h:169 AliVZEROTriggerData.h:170 AliVZEROTriggerData.h:171 AliVZEROTriggerData.h:172 AliVZEROTriggerData.h:173 AliVZEROTriggerData.h:174 AliVZEROTriggerData.h:175 AliVZEROTriggerData.h:176 AliVZEROTriggerData.h:177 AliVZEROTriggerData.h:178 AliVZEROTriggerData.h:179 AliVZEROTriggerData.h:180 AliVZEROTriggerData.h:181 AliVZEROTriggerData.h:182 AliVZEROTriggerData.h:183 AliVZEROTriggerData.h:184 AliVZEROTriggerData.h:185 AliVZEROTriggerData.h:186 AliVZEROTriggerData.h:187 AliVZEROTriggerData.h:188 AliVZEROTriggerData.h:189 AliVZEROTriggerData.h:190 AliVZEROTriggerData.h:191 AliVZEROTriggerData.h:192 AliVZEROTriggerData.h:193 AliVZEROTriggerData.h:194 AliVZEROTriggerData.h:195 AliVZEROTriggerData.h:196 AliVZEROTriggerData.h:197 AliVZEROTriggerData.h:198 AliVZEROTriggerData.h:199 AliVZEROTriggerData.h:200 AliVZEROTriggerData.h:201 AliVZEROTriggerData.h:202 AliVZEROTriggerData.h:203 AliVZEROTriggerData.h:204 AliVZEROTriggerData.h:205 AliVZEROTriggerData.h:206 AliVZEROTriggerData.h:207 AliVZEROTriggerData.h:208 AliVZEROTriggerData.h:209 AliVZEROTriggerData.h:210 AliVZEROTriggerData.h:211 AliVZEROTriggerData.h:212 AliVZEROTriggerData.h:213 AliVZEROTriggerData.h:214 AliVZEROTriggerData.h:215 AliVZEROTriggerData.h:216 AliVZEROTriggerData.h:217 AliVZEROTriggerData.h:218 AliVZEROTriggerData.h:219 AliVZEROTriggerData.h:220 AliVZEROTriggerData.h:221 AliVZEROTriggerData.h:222 AliVZEROTriggerData.h:223 AliVZEROTriggerData.h:224