PathLength functions added.
[u/mrichter/AliRoot.git] / FASTSIM / AliFastGlauber.h
index 3670fd18bd353163783967abad683873d17a1366..df1e4d46a3cbc8641cf18ef637c14572e8c240e7 100644 (file)
@@ -18,15 +18,20 @@ class AliFastGlauber : public TObject {
     void SetMaxImpact(Float_t bmax = 20.) {fbMax = bmax;};
     void SetHardCrossSection(Float_t xs = 6.6) {fSigmaHard = xs;}
     
     void SetMaxImpact(Float_t bmax = 20.) {fbMax = bmax;};
     void SetHardCrossSection(Float_t xs = 6.6) {fSigmaHard = xs;}
     
-    static Double_t WSb      (Double_t *xx, Double_t *par);
-    static Double_t WSbz     (Double_t *xx, Double_t *par);
-    static Double_t WSz      (Double_t *xx, Double_t *par);
-    static Double_t WSta     (Double_t *xx, Double_t *par);
-    static Double_t WStarfi  (Double_t *xx, Double_t *par);
-    static Double_t WStaa    (Double_t *xx, Double_t *par);
-    static Double_t WSgeo    (Double_t *xx, Double_t *par);
-    static Double_t WSbinary (Double_t *xx, Double_t *par);
-    static Double_t WSN      (Double_t *xx, Double_t *par);
+    static Double_t WSb          (Double_t *xx, Double_t *par);
+    static Double_t WSbz         (Double_t *xx, Double_t *par);
+    static Double_t WSz          (Double_t *xx, Double_t *par);
+    static Double_t WSta         (Double_t *xx, Double_t *par);
+    static Double_t WStarfi      (Double_t *xx, Double_t *par);
+    static Double_t WStaa        (Double_t *xx, Double_t *par);
+    static Double_t WSgeo        (Double_t *xx, Double_t *par);
+    static Double_t WSbinary     (Double_t *xx, Double_t *par);
+    static Double_t WSN          (Double_t *xx, Double_t *par);
+    static Double_t WAlmond      (Double_t *xx, Double_t *par);
+    static Double_t WPathLength0 (Double_t *xx, Double_t *par);
+    static Double_t WPathLength  (Double_t *xx, Double_t *par);
+    static Double_t WIntRadius   (Double_t *xx, Double_t *par);
+    
     void Init(Int_t mode = 0);
     void DrawWSb();
     void DrawThickness();
     void Init(Int_t mode = 0);
     void DrawWSb();
     void DrawThickness();
@@ -34,7 +39,12 @@ class AliFastGlauber : public TObject {
     void DrawGeo();
     void DrawBinary();
     void DrawN();    
     void DrawGeo();
     void DrawBinary();
     void DrawN();    
-    void DrawKernel();
+    void DrawKernel(Double_t b);
+    void DrawAlmond(Double_t b);
+    void DrawPathLength0(Double_t b);
+    void DrawPathLength(Double_t b, Int_t ni = 1000);
+    void DrawIntRadius(Double_t b);
+    
     Double_t CrossSection(Double_t b1, Double_t b2);
     Double_t FractionOfHardCrossSection(Double_t b1, Double_t b2);
     Double_t Binaries(Double_t b);
     Double_t CrossSection(Double_t b1, Double_t b2);
     Double_t FractionOfHardCrossSection(Double_t b1, Double_t b2);
     Double_t Binaries(Double_t b);
@@ -45,15 +55,19 @@ class AliFastGlauber : public TObject {
     void GetRandom(Int_t& bin, Bool_t& hard);
     Float_t GetRandomImpactParameter(Float_t bmin, Float_t bmax);
  protected:
     void GetRandom(Int_t& bin, Bool_t& hard);
     Float_t GetRandomImpactParameter(Float_t bmin, Float_t bmax);
  protected:
-    static TF1*    fWSb;      // Wood-Saxon Function (b)
-    static TF2*    fWSbz;     // Wood-Saxon Function (b, z)
-    static TF1*    fWSz;      // Wood-Saxon Function (b = b0, z)
-    static TF1*    fWSta;     // Thickness Function
-    static TF2*    fWStarfi;  // Kernel for Overlap Function
-    static TF1*    fWStaa;    // Overlap Function
-    static TF1*    fWSgeo;    // dSigma/db geometric
-    static TF1*    fWSbinary; // dSigma/db binary
-    static TF1*    fWSN;      // dN/db binary
+    static TF1*    fWSb;         // Wood-Saxon Function (b)
+    static TF2*    fWSbz;        // Wood-Saxon Function (b, z)
+    static TF1*    fWSz;         // Wood-Saxon Function (b = b0, z)
+    static TF1*    fWSta;        // Thickness Function
+    static TF2*    fWStarfi;     // Kernel for Overlap Function
+    static TF1*    fWStaa;       // Overlap Function
+    static TF2*    fWAlmond;     // Interaction Almond
+    static TF1*    fWPathLength0;// Path Length as a function of phi
+    static TF1*    fWPathLength; // Path Length as a function of phi
+    static TF1*    fWIntRadius;  // Interaction Radius
+    static TF1*    fWSgeo;       // dSigma/db geometric
+    static TF1*    fWSbinary;    // dSigma/db binary
+    static TF1*    fWSN;         // dN/db binary
     
     Float_t fWSr0;      // Wood-Saxon Parameter r0
     Float_t fWSd;       // Wood-Saxon Parameter d
     
     Float_t fWSr0;      // Wood-Saxon Parameter r0
     Float_t fWSd;       // Wood-Saxon Parameter d