ROOT logo
#ifndef ALI_ZDC_TRIGGERPROCESSOR_H
#define ALI_ZDC_TRIGGERPROCESSOR_H

//////////////////////////////////////////////////////////////////////
//                                                                  //
// 			ZDC trigger processor                       //
//      It collects data stored by the dedicated DA and writes	    //
// 	an AliZDCTriggerParameters object into the OCDB             //
//                                                                  //
//        Author: Chiara.Oppedisano@to.infn.it                      //
//////////////////////////////////////////////////////////////////////
#include <TObject.h>

class AliZDCTriggerParameters;

class AliZDCTriggerProcessor : public TObject 
{
  public:
    AliZDCTriggerProcessor();
    AliZDCTriggerProcessor(Float_t* signal);
    AliZDCTriggerProcessor(Float_t* signal, AliZDCTriggerParameters* ocdbParam);
    AliZDCTriggerProcessor(const AliZDCTriggerProcessor& trigg);  
    AliZDCTriggerProcessor& operator= (const AliZDCTriggerProcessor &trig);
    virtual ~AliZDCTriggerProcessor();
    
    AliZDCTriggerParameters *GetTriggerParamFromOCDB() const;
    virtual void SetTriggerParam(AliZDCTriggerParameters* ocdbParam) 
    	{fTriggerParam = ocdbParam;}
    
    Float_t* GetSignal() const {return fSignal;}
    Float_t  GetSignal(Int_t idet) const {return fSignal[idet];}
    void  SetSignal(Float_t* signal) 
    	    {for(Int_t i=0; i<6; i++) fSignal[i] = signal[i];}
    void  SetSignal(Int_t idet, Float_t signal) {fSignal[idet] = signal;}

  protected:
    virtual UInt_t ProcessEvent();
    virtual Bool_t MBTrigger();
    virtual Bool_t CentralTrigger();
    virtual Bool_t SemicentralTrigger();
    virtual Bool_t EMDTrigger();

  private:
    Float_t* fSignal;
    AliZDCTriggerParameters *fTriggerParam; // parameters in OCDB

    ClassDef(AliZDCTriggerProcessor, 1);
};

    

#endif
 AliZDCTriggerProcessor.h:1
 AliZDCTriggerProcessor.h:2
 AliZDCTriggerProcessor.h:3
 AliZDCTriggerProcessor.h:4
 AliZDCTriggerProcessor.h:5
 AliZDCTriggerProcessor.h:6
 AliZDCTriggerProcessor.h:7
 AliZDCTriggerProcessor.h:8
 AliZDCTriggerProcessor.h:9
 AliZDCTriggerProcessor.h:10
 AliZDCTriggerProcessor.h:11
 AliZDCTriggerProcessor.h:12
 AliZDCTriggerProcessor.h:13
 AliZDCTriggerProcessor.h:14
 AliZDCTriggerProcessor.h:15
 AliZDCTriggerProcessor.h:16
 AliZDCTriggerProcessor.h:17
 AliZDCTriggerProcessor.h:18
 AliZDCTriggerProcessor.h:19
 AliZDCTriggerProcessor.h:20
 AliZDCTriggerProcessor.h:21
 AliZDCTriggerProcessor.h:22
 AliZDCTriggerProcessor.h:23
 AliZDCTriggerProcessor.h:24
 AliZDCTriggerProcessor.h:25
 AliZDCTriggerProcessor.h:26
 AliZDCTriggerProcessor.h:27
 AliZDCTriggerProcessor.h:28
 AliZDCTriggerProcessor.h:29
 AliZDCTriggerProcessor.h:30
 AliZDCTriggerProcessor.h:31
 AliZDCTriggerProcessor.h:32
 AliZDCTriggerProcessor.h:33
 AliZDCTriggerProcessor.h:34
 AliZDCTriggerProcessor.h:35
 AliZDCTriggerProcessor.h:36
 AliZDCTriggerProcessor.h:37
 AliZDCTriggerProcessor.h:38
 AliZDCTriggerProcessor.h:39
 AliZDCTriggerProcessor.h:40
 AliZDCTriggerProcessor.h:41
 AliZDCTriggerProcessor.h:42
 AliZDCTriggerProcessor.h:43
 AliZDCTriggerProcessor.h:44
 AliZDCTriggerProcessor.h:45
 AliZDCTriggerProcessor.h:46
 AliZDCTriggerProcessor.h:47
 AliZDCTriggerProcessor.h:48
 AliZDCTriggerProcessor.h:49
 AliZDCTriggerProcessor.h:50
 AliZDCTriggerProcessor.h:51
 AliZDCTriggerProcessor.h:52