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

////////////////////////////////////////////////
//  Hits classes for set ZDC                  //
////////////////////////////////////////////////

#include "AliHit.h"

class AliZDCHit : public AliHit {

public:
  AliZDCHit();
  AliZDCHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
  AliZDCHit(const AliZDCHit &oldhit);
  AliZDCHit& operator= (const AliZDCHit &hit);
  virtual ~AliZDCHit() {}

  // Getters 
  virtual Int_t   GetVolume(Int_t i) const {return fVolume[i];}
  virtual Int_t   GetPDGCode() const	   {return fPDGCode;}
  virtual Int_t   GetMotherPDGCode() const {return fMotherPDGCode;}
  virtual Float_t GetPrimKinEn() const     {return fPrimKinEn;}
  virtual Float_t GetXImpact() const       {return fXImpact;}
  virtual Float_t GetYImpact() const       {return fYImpact;}
  virtual Float_t GetSFlag() const         {return fSFlag;}
  virtual Float_t GetLightPMQ() const      {return fLightPMQ;}
  virtual Float_t GetLightPMC() const      {return fLightPMC;}
  virtual Float_t GetEnergy() const        {return fEnergy;}
  virtual Float_t GetTrackTOF() const      {return fTrackTOF;}
  virtual Float_t GetTrackEta() const      {return fTrackEta;}

  // Setters 
  virtual void SetVolume(Int_t i, Int_t val) {fVolume[i]=val;} 
  virtual void SetPDGCode(Int_t code)        {fPDGCode=code;}
  virtual void SetMotherPDGCode(Int_t code)  {fPDGCode=code;}
  virtual void SetLightPMQ(Float_t value)    {fLightPMQ=value;}
  virtual void SetLightPMC(Float_t value)    {fLightPMC=value;}
  virtual void SetSFlag(Float_t value)       {fSFlag=value;}
  virtual void SetPrimKinEn(Float_t value)   {fPrimKinEn=value;}
  virtual void SetXImpact(Float_t value)     {fXImpact=value;}
  virtual void SetYImpact(Float_t value)     {fYImpact=value;}
  virtual void SetTrackTOF(Float_t value)    {fTrackTOF=value;}
  virtual void SetTrackEta(Float_t value)    {fTrackEta=value;}

  // Operators
  Int_t operator == (AliZDCHit &quad){
     Int_t i;
     if(fTrack!=quad.GetTrack()) return 0;
     for(i=0; i<2; i++) if(fVolume[i]!=quad.GetVolume(i)) return 0;
     return 1;
  }
  
  virtual AliZDCHit operator + (AliZDCHit &quad){
     fLightPMQ += quad.GetLightPMQ();
     fLightPMC += quad.GetLightPMC();
     fEnergy += quad.GetEnergy();
     return *this;
  }

  // Print method
  void Print(Option_t *) const;

protected:
  // Data members
  Int_t   fVolume[2]; 	  //Array of volumes
  Float_t fPrimKinEn; 	  //Primary particle energy
  Float_t fXImpact;   	  //x-coord. of the impact point over the ZDC
  Float_t fYImpact;   	  //y-coord. of the impact point over the ZDC
  Float_t fSFlag;     	  //Secondary flag
  Float_t fLightPMQ;  	  //Cerenkov light produced in each quadrant
  Float_t fLightPMC;  	  //Cerenkov light seen by the common PM
  Float_t fEnergy;    	  //Total energy deposited in eV
  Int_t   fPDGCode;   	  //PDG code of particle in the ZDC
  Int_t   fMotherPDGCode; //PDG code of particle in the ZDC
  Float_t fTrackTOF;  	  //Track time in ns
  Float_t fTrackEta;  	  //Track eta

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