// Author: M.A. Kagarlis
// Written:  02.02.00
// Revised:  19.06.03  R.H.
// Revised:  26.06.07  IF
// PSaid Class Header

// R. Arndt's p+p elastic scattering parametrization
#ifndef _PSAID_H_
#define _PSAID_H_

#include <TGlobal.h>
#include <TROOT.h>
#include <TRandom3.h>
#include <TArrayD.h>
#include "PAngularDistribution.h"

class PSaid : public PAngularDistribution {

 public:
    
    PSaid();
    PSaid(const Char_t *id, const Char_t *de);
    
    PDistribution *Clone(const char *delme=NULL) const;

    Bool_t Init(void);
    Bool_t Prepare(void);
    Bool_t IsNotRejected(void);
        
    double SamplePolarAngle(double);

    ~PSaid();

 private:

    double told;
 
    int dim;
    //TRandom3 *REngine;                   // private M-Twistor random number engine
    TArrayD y, aa;                       // private arrays for the sampling algorithm
    void defaults();

    double dsdw(double, double);   // diff. cross section (mb/sr) by sc. angle (deg), Tlab (GeV)
    double sample(double, double); // sampling algorithm (rejection method)

    ClassDef(PSaid, 0) //Pluto SAID Class

};
#endif // _PSAID_H_
 PSaid.h:1
 PSaid.h:2
 PSaid.h:3
 PSaid.h:4
 PSaid.h:5
 PSaid.h:6
 PSaid.h:7
 PSaid.h:8
 PSaid.h:9
 PSaid.h:10
 PSaid.h:11
 PSaid.h:12
 PSaid.h:13
 PSaid.h:14
 PSaid.h:15
 PSaid.h:16
 PSaid.h:17
 PSaid.h:18
 PSaid.h:19
 PSaid.h:20
 PSaid.h:21
 PSaid.h:22
 PSaid.h:23
 PSaid.h:24
 PSaid.h:25
 PSaid.h:26
 PSaid.h:27
 PSaid.h:28
 PSaid.h:29
 PSaid.h:30
 PSaid.h:31
 PSaid.h:32
 PSaid.h:33
 PSaid.h:34
 PSaid.h:35
 PSaid.h:36
 PSaid.h:37
 PSaid.h:38
 PSaid.h:39
 PSaid.h:40
 PSaid.h:41
 PSaid.h:42
 PSaid.h:43
 PSaid.h:44
 PSaid.h:45
 PSaid.h:46
 PSaid.h:47
 PSaid.h:48
 PSaid.h:49