LCOV - code coverage report
Current view: top level - STEER/AOD - AliAODPhoton.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 24 4.2 %
Date: 2016-06-14 17:26:59 Functions: 1 26 3.8 %

          Line data    Source code
       1             : #ifndef AliAODPHOTON_H
       2             : #define AliAODPHOTON_H
       3             : /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : //-------------------------------------------------------------------------
       9             : //     AOD photon class
      10             : //     Author: Yves Schutz, CERN
      11             : //-------------------------------------------------------------------------
      12             : 
      13             : #include <TLorentzVector.h>
      14             : #include "AliVParticle.h"
      15             : #include "AliAODVertex.h"
      16             : 
      17             : 
      18             : class AliAODPhoton : public AliVParticle {
      19             : 
      20             :  public:
      21             :     AliAODPhoton();
      22             :     AliAODPhoton(Double_t px, Double_t py, Double_t pz, Double_t e);
      23             :     AliAODPhoton(TLorentzVector & p);  
      24             :     virtual ~AliAODPhoton();
      25             :     AliAODPhoton(const AliAODPhoton& photon); 
      26             :     AliAODPhoton& operator=(const AliAODPhoton& photon);
      27             : // AliVParticle methods
      28           0 :     virtual Double_t Px()         const { return fMomentum->Px();      }
      29           0 :     virtual Double_t Py()         const { return fMomentum->Py();      }
      30           0 :     virtual Double_t Pz()         const { return fMomentum->Pz();      }
      31           0 :     virtual Double_t Pt()         const { return fMomentum->Pt();      }
      32           0 :     virtual Double_t P()          const { return fMomentum->P();       }
      33           0 :     virtual Bool_t   PxPyPz(Double_t p[3]) const { p[0] = Px(); p[1] = Py(); p[2] = Pz(); return kTRUE; }
      34           0 :     virtual Double_t OneOverPt()  const { return 1. / fMomentum->Pt(); }
      35             :     virtual Double_t Phi()        const;
      36           0 :     virtual Double_t Theta()      const { return fMomentum->Theta();   }
      37           0 :     virtual Double_t E()          const { return fMomentum->E();       }
      38           0 :     virtual Double_t M()          const { return fMomentum->M();       }
      39           0 :     virtual Double_t Eta()        const { return fMomentum->Eta();     }
      40           0 :     virtual Double_t Y()          const { return fMomentum->Rapidity();}
      41           0 :     virtual Double_t Xv()         const {return -999.;} // put reasonable values here
      42           0 :     virtual Double_t Yv()         const {return -999.;} //
      43           0 :     virtual Double_t Zv()         const {return -999.;} //
      44           0 :     virtual Bool_t   XvYvZv(Double_t x[3]) const { x[0] = Xv(); x[1] = Yv(); x[2] = Zv(); return kTRUE; }  
      45             :     //
      46             :     
      47             :     virtual void     Print(Option_t* /*option*/) const;
      48             :     
      49             : // Dummy  
      50           0 :     virtual Short_t Charge()        const { return 0;}
      51           0 :     virtual const   Double_t* PID() const { return NULL;}
      52           0 :     virtual Int_t   GetLabel()      const { return -1;}
      53             :   // Dummy
      54           0 :     virtual Int_t    PdgCode()      const {return 0;}
      55             : 
      56             : //
      57             :     
      58             :     
      59             :  private:
      60             :     TLorentzVector* fMomentum;           // Photon 4-momentum vector
      61         170 :     ClassDef(AliAODPhoton,1);
      62             : };
      63             : 
      64             : inline Double_t AliAODPhoton::Phi() const
      65             : {
      66             :     // Return phi
      67           0 :     Double_t phi = fMomentum->Phi();
      68           0 :     if (phi < 0.) phi += 2. * TMath::Pi();
      69           0 :     return phi;
      70             : }
      71             : 
      72             : #endif

Generated by: LCOV version 1.11