ROOT logo
#ifndef AliCFParticle_h
#define AliCFParticle_h

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

// Class to store basic track parameters in the tree
// evgeny.kryshen@cern.ch


#include "AliVParticle.h"
#include "AliLog.h"
#include "TArrayF.h"

class AliCFParticle : public AliVParticle, public TArrayF {
 public:
  AliCFParticle():AliVParticle(),TArrayF(),fPt(0),fEta(0),fPhi(0),fCharge(0),fMask(0)
  {
  }
  AliCFParticle(Float_t pt, Float_t eta, Float_t phi, Short_t charge, UInt_t mask,UInt_t nData=0)
  :AliVParticle(),TArrayF(nData),fPt(pt),fEta(eta),fPhi(phi),fCharge(charge),fMask(mask)
  {
  }
  virtual ~AliCFParticle(){}

  virtual Double_t Pt()    const { return fPt;      }
  virtual Double_t Phi()   const { return fPhi;     }
  virtual Double_t Eta()   const { return fEta;     }
  virtual Short_t Charge() const { return fCharge;  }
  virtual UInt_t Mask()    const { return fMask;    }
  
  virtual Double_t Px() const { AliFatal("Not implemented"); return 0; }
  virtual Double_t Py() const { AliFatal("Not implemented"); return 0; }
  virtual Double_t Pz() const { AliFatal("Not implemented"); return 0; }
  virtual Double_t P()  const { AliFatal("Not implemented"); return 0; }
  virtual Bool_t   PxPyPz(Double_t[3]) const { AliFatal("Not implemented"); return 0; }

  virtual Double_t Xv() const { AliFatal("Not implemented"); return 0; }
  virtual Double_t Yv() const { AliFatal("Not implemented"); return 0; }
  virtual Double_t Zv() const { AliFatal("Not implemented"); return 0; }
  virtual Bool_t   XvYvZv(Double_t[3]) const { AliFatal("Not implemented"); return 0; }

  virtual Double_t OneOverPt()  const { AliFatal("Not implemented"); return 0; }
  virtual Double_t Theta()      const { AliFatal("Not implemented"); return 0; }
  virtual Double_t E()          const { AliFatal("Not implemented"); return 0; }
  virtual Double_t M()          const { AliFatal("Not implemented"); return 0; }
  virtual Double_t Y()          const { AliFatal("Not implemented"); return 0; }
  virtual Int_t   GetLabel()    const { AliFatal("Not implemented"); return 0; }
  
  virtual Int_t   PdgCode()     const { AliFatal("Not implemented"); return 0; }
  virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0; }

  virtual Bool_t IsEqual(const TObject* obj) const { return (obj->GetUniqueID() == GetUniqueID()); }

  virtual void SetPt(Double_t pt)        { fPt     = pt;     }
  virtual void SetEta(Double_t eta)      { fEta    = eta;    }
  virtual void SetPhi(Double_t phi)      { fPhi    = phi;    }
  virtual void SetCharge(Short_t charge) { fCharge = charge; }
  virtual void SetMask(Short_t mask)     { fMask   = mask;   }
 protected:
  Float_t fPt;
  Float_t fEta;
  Float_t fPhi;
  Short_t fCharge;
  UInt_t  fMask;     // Filter bit mask
  ClassDef(AliCFParticle,2);
};

#endif

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