]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTPositionRandomizer.cxx
Redesigned Code for Azimuthally Sesitive HBT (AsHBT) (G.Galazka)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTPositionRandomizer.cxx
index 29ea2ae0c42a3aa44c0c1c71eb49dc22a40113ec..2e6d6ad81310bc562c83685092edc475f89aa19e 100644 (file)
@@ -180,6 +180,14 @@ void AliHBTPositionRandomizer::SetEventVertex(Double_t x, Double_t y,Double_t z)
   fVY = y;
   fVZ = z;
 }
+
+
+void AliHBTPositionRandomizer::SetEllipse(Double_t rx, Double_t ryz)
+{
+   delete fRandomizer;
+   fRandomizer = new AliHBTRndmEllipse(rx,ryz);
+}
+
 /*********************************************************************/
 //_____________________________________________________________________
 ///////////////////////////////////////////////////////////////////////
@@ -215,6 +223,16 @@ AliHBTRndmGaussBall::AliHBTRndmGaussBall(Float_t rx, Float_t ry, Float_t rz):
 }
 /*********************************************************************/
 
+
+AliHBTRndmEllipse::AliHBTRndmEllipse(Float_t rmin, Float_t rmax):
+ fRmin(rmin),
+ fRmax(rmax)
+{
+     //constructor
+}
+
+/*********************************************************************/
+
 void AliHBTRndmGaussBall::Randomize(Double_t& x,Double_t& y,Double_t&z, AliVAODParticle*/*particle*/) const
 {
 //randomizez gauss for each coordinate separately
@@ -240,3 +258,18 @@ void AliHBTRndmCyllSurf::Randomize(Double_t& x,Double_t& y,Double_t&z, AliVAODPa
    y = sf*particle->Py();
    z = gRandom->Uniform(-fL,fL);
 }
+
+/*********************************************************************/
+/*********************************************************************/
+
+void AliHBTRndmEllipse::Randomize(Double_t& x, Double_t& y, Double_t& z,AliVAODParticle*p) const
+{
+    // p=0; //workaround - fix this damn little thingy
+   double R;
+     double phi=p->Phi();
+     
+     R=fRmin+(fRmax-fRmin)*TMath::Sin(phi);
+     x=R*TMath::Sin(phi);
+     y=R*TMath::Cos(phi);
+     z=z;
+}