]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCHit.h
First implementation of EMCAL trigger QA from Nicola Arbor
[u/mrichter/AliRoot.git] / ZDC / AliZDCHit.h
index e28f222191e24d34c37ff5b61e92a7c29109d83b..6b1f5664e79d07f21bc73de4a26ac1186dfb461c 100644 (file)
 class AliZDCHit : public AliHit {
 
 public:
-  AliZDCHit() {}
+  AliZDCHit();
   AliZDCHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
-  AliZDCHit(AliZDCHit* oldhit) {*this=*oldhit;}
+  //AliZDCHit(const AliZDCHit* oldhit) {*this=*oldhit;}
+  AliZDCHit(const AliZDCHit &oldhit);
   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;}
@@ -26,52 +29,53 @@ public:
   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;}
 
   // Setters 
-  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 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;}
 
   // Operators
-  Int_t operator == (AliZDCHit &quad) {
+  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();
+  virtual AliZDCHit operator + (AliZDCHit &quad){
+     fLightPMQ += quad.GetLightPMQ();
+     fLightPMC += quad.GetLightPMC();
+     fEnergy += quad.GetEnergy();
      return *this;
   }
 
   // Print method
-  virtual void Print(Option_t *) const {
-     printf(" -> HIT: vol[0] =  %d vol[1] =  %d Track: %d \n" 
-            "  Primary E = %f, Ximpact = %f, Yimpact = %f, SFlag = %f\n"
-           "  PMQLight = %f, PMCLight = %f,  Deposited E = %f\n ", 
-           fVolume[0],fVolume[1],fTrack,fPrimKinEn,fXImpact,fYImpact,
-           fSFlag,fLightPMQ,fLightPMC,fEnergy);
-  }
+  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   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
 
-  ClassDef(AliZDCHit,1)  // Hits for the Zero Degree Calorimeters
+  ClassDef(AliZDCHit,4)  // Hits for the Zero Degree Calorimeters
 };
  
 #endif