ROOT logo
#ifndef ALIAODCALOTRIGGER_H
#define ALIAODCALOTRIGGER_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/*
 


Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
*/

#include "AliVCaloTrigger.h"

class TArrayI;

class AliAODCaloTrigger : public AliVCaloTrigger 
{
public:
	         AliAODCaloTrigger();
					 AliAODCaloTrigger(const char* name, const char* title);
	         AliAODCaloTrigger(const AliAODCaloTrigger& ctrig);
	virtual ~AliAODCaloTrigger();
	
	AliAODCaloTrigger& operator=(const AliAODCaloTrigger& ctrig);
	
	Bool_t  IsEmpty() {return (fNEntries == 0);}

	virtual void Reset() {fCurrent = -1;}

	void    Allocate(Int_t size);
	void    DeAllocate(        ); 
	
	Bool_t  Add(Int_t col, Int_t row, Float_t amp, Float_t time, Int_t trgtimes[], Int_t ntrgtimes, Int_t trgts, Int_t trgbits);
	
	void    SetL1Threshold(Int_t i, Int_t thr) {fL1Threshold[i] = thr;}
	void    SetL1V0(const Int_t* v) {for (int i = 0; i < 2; i++) fL1V0[i] = v[i];}
	void    SetL1FrameMask(Int_t m) {fL1FrameMask = m;}
	
	void    GetPosition(     Int_t& col, Int_t& row           ) const;
	
	void    GetAmplitude(  Float_t& amp                       ) const;
	void    GetTime(       Float_t& time                      ) const;
	
	void    GetTriggerBits(  Int_t& bits                      ) const;
	void    GetNL0Times(     Int_t& ntimes                    ) const;
	void    GetL0Times(      Int_t  times[]                   ) const;
	Int_t   GetEntries(                                       ) const {return fNEntries;}

	void    GetL1TimeSum(    Int_t& timesum                   ) const;
	Int_t   GetL1Threshold(  Int_t  i                         ) const {return fL1Threshold[i];}
	Int_t   GetL1V0(         Int_t  i                         ) const {return fL1V0[i];}
	Int_t   GetL1FrameMask(                                   ) const {return fL1FrameMask;}
	
	virtual Bool_t Next();

	virtual void Copy(TObject& obj) const;
	
	virtual void Print(const Option_t* opt = "") const;
	
private:

	Int_t    fNEntries;
    Int_t    fCurrent;

	Int_t*   fColumn;         // [fNEntries]
	Int_t*   fRow;            // [fNEntries]
	Float_t* fAmplitude;      // [fNEntries]
	Float_t* fTime;           // [fNEntries]
	Int_t*   fNL0Times;       // [fNEntries]
	TArrayI* fL0Times;        //
	Int_t*   fL1TimeSum;      // [fNEntries]
	Int_t*   fTriggerBits;    // [fNEntries]
	
	Int_t    fL1Threshold[4]; // L1 thresholds from raw data
	Int_t    fL1V0[2];        // L1 threshold components
	Int_t    fL1FrameMask;    // Validation flag for L1 data
	
	
	ClassDef(AliAODCaloTrigger, 3)
};
#endif

 AliAODCaloTrigger.h:1
 AliAODCaloTrigger.h:2
 AliAODCaloTrigger.h:3
 AliAODCaloTrigger.h:4
 AliAODCaloTrigger.h:5
 AliAODCaloTrigger.h:6
 AliAODCaloTrigger.h:7
 AliAODCaloTrigger.h:8
 AliAODCaloTrigger.h:9
 AliAODCaloTrigger.h:10
 AliAODCaloTrigger.h:11
 AliAODCaloTrigger.h:12
 AliAODCaloTrigger.h:13
 AliAODCaloTrigger.h:14
 AliAODCaloTrigger.h:15
 AliAODCaloTrigger.h:16
 AliAODCaloTrigger.h:17
 AliAODCaloTrigger.h:18
 AliAODCaloTrigger.h:19
 AliAODCaloTrigger.h:20
 AliAODCaloTrigger.h:21
 AliAODCaloTrigger.h:22
 AliAODCaloTrigger.h:23
 AliAODCaloTrigger.h:24
 AliAODCaloTrigger.h:25
 AliAODCaloTrigger.h:26
 AliAODCaloTrigger.h:27
 AliAODCaloTrigger.h:28
 AliAODCaloTrigger.h:29
 AliAODCaloTrigger.h:30
 AliAODCaloTrigger.h:31
 AliAODCaloTrigger.h:32
 AliAODCaloTrigger.h:33
 AliAODCaloTrigger.h:34
 AliAODCaloTrigger.h:35
 AliAODCaloTrigger.h:36
 AliAODCaloTrigger.h:37
 AliAODCaloTrigger.h:38
 AliAODCaloTrigger.h:39
 AliAODCaloTrigger.h:40
 AliAODCaloTrigger.h:41
 AliAODCaloTrigger.h:42
 AliAODCaloTrigger.h:43
 AliAODCaloTrigger.h:44
 AliAODCaloTrigger.h:45
 AliAODCaloTrigger.h:46
 AliAODCaloTrigger.h:47
 AliAODCaloTrigger.h:48
 AliAODCaloTrigger.h:49
 AliAODCaloTrigger.h:50
 AliAODCaloTrigger.h:51
 AliAODCaloTrigger.h:52
 AliAODCaloTrigger.h:53
 AliAODCaloTrigger.h:54
 AliAODCaloTrigger.h:55
 AliAODCaloTrigger.h:56
 AliAODCaloTrigger.h:57
 AliAODCaloTrigger.h:58
 AliAODCaloTrigger.h:59
 AliAODCaloTrigger.h:60
 AliAODCaloTrigger.h:61
 AliAODCaloTrigger.h:62
 AliAODCaloTrigger.h:63
 AliAODCaloTrigger.h:64
 AliAODCaloTrigger.h:65
 AliAODCaloTrigger.h:66
 AliAODCaloTrigger.h:67
 AliAODCaloTrigger.h:68
 AliAODCaloTrigger.h:69
 AliAODCaloTrigger.h:70
 AliAODCaloTrigger.h:71
 AliAODCaloTrigger.h:72
 AliAODCaloTrigger.h:73
 AliAODCaloTrigger.h:74
 AliAODCaloTrigger.h:75
 AliAODCaloTrigger.h:76
 AliAODCaloTrigger.h:77
 AliAODCaloTrigger.h:78
 AliAODCaloTrigger.h:79
 AliAODCaloTrigger.h:80
 AliAODCaloTrigger.h:81
 AliAODCaloTrigger.h:82
 AliAODCaloTrigger.h:83
 AliAODCaloTrigger.h:84