]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTParticle.h
comments added AliHBTParticle.h
[u/mrichter/AliRoot.git] / HBTAN / AliHBTParticle.h
index 434ca025a80c1eff36cd5e5ed9d81c85727e5a46..72a55f713f578fec29ed815ce1b4b942832ba59a 100644 (file)
@@ -1,16 +1,26 @@
 #ifndef ALIHBTPARTICLE
 #define ALIHBTPARTICLE
-
-//Ali HBT Particle: simplified class TParticle
-//Simplified in order to minimize the size of object
+//___________________________________________________________
+/////////////////////////////////////////////////////////////
+//
+// class AliHBTParticle
+//
+// Ali HBT Particle: simplified class TParticle
+// Simplified in order to minimize the size of object
 //  - we want to keep a lot of such a objects in memory
+// Additionaly adjusted for HBT Analysies purposes
+//
+/////////////////////////////////////////////////////////////
 
 #include <TObject.h>
 #include <TLorentzVector.h>
 #include <TMath.h>
 #include <TDatabasePDG.h>
 
+#include "AliConst.h"
+
 class TParticle;
+//class AliHBTTrackPoints;
 
 class AliHBTParticle : public TObject
 {
@@ -28,8 +38,10 @@ public:
 
   AliHBTParticle(const TParticle& p,Int_t idx);
 
-  virtual ~AliHBTParticle(){};
-
+  virtual ~AliHBTParticle();
+  
+  AliHBTParticle& operator=(const AliHBTParticle& in); 
+  
   void           SetPIDprobability(Int_t pdg, Float_t prob = 1.0);
   Float_t        GetPIDprobability(Int_t pdg);
   
@@ -79,12 +91,11 @@ public:
   Double_t         Y     () const { if (fE  != fPz) return 0.5*TMath::Log((fE+fPz)/(fE-fPz));
                                     else return 1.e30;}
 
-  Double_t         Phi   () const { return kPI+TMath::ATan2(-fPy,-fPx); }
-
-  Double_t         Theta () const { return (fPz==0)?kPI/2:TMath::ACos(fPz/P()); }
+  Double_t         Phi   () const { return TMath::Pi()+TMath::ATan2(-fPy,-fPx); }
 
-                                // setters
+  Double_t         Theta () const { return (fPz==0)?TMath::PiOver2():TMath::ACos(fPz/P()); }
 
+  // setters
 
   void           SetMomentum(Double_t px, Double_t py, Double_t pz, Double_t e)
                              {fPx=px; fPy=py; fPz=pz; fE=e;}
@@ -95,6 +106,10 @@ public:
                              {fVx=vx; fVy=vy; fVz=vz; fVt=t;}
   void           SetProductionVertex(const TLorentzVector& v)
                              {SetProductionVertex(v.X(),v.Y(),v.Z(),v.T());}
+  void           SetCalcMass(Double_t mass) {fCalcMass = mass;}
+  
+  void           SetUID(Int_t id){fIdxInEvent = id;}
+  
   const Char_t*  GetName() const; 
   void           Print() const;