// PSaidPN Class Header


#ifndef _PSAIDPN_H_
#define _PSAIDPN_H_

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

class PSaidPN : public PAngularDistribution {

 public:
    
    PSaidPN();
    PSaidPN(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);

 private:

    double told;
    int dim;
    TArrayD y, aa;                 // private arrays for the sampling algorithm

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

    ClassDef(PSaidPN, 0) //Pluto SAID Class (for p+n)

};
#endif // _PSAIPND_H_
 PSaidPN.h:1
 PSaidPN.h:2
 PSaidPN.h:3
 PSaidPN.h:4
 PSaidPN.h:5
 PSaidPN.h:6
 PSaidPN.h:7
 PSaidPN.h:8
 PSaidPN.h:9
 PSaidPN.h:10
 PSaidPN.h:11
 PSaidPN.h:12
 PSaidPN.h:13
 PSaidPN.h:14
 PSaidPN.h:15
 PSaidPN.h:16
 PSaidPN.h:17
 PSaidPN.h:18
 PSaidPN.h:19
 PSaidPN.h:20
 PSaidPN.h:21
 PSaidPN.h:22
 PSaidPN.h:23
 PSaidPN.h:24
 PSaidPN.h:25
 PSaidPN.h:26
 PSaidPN.h:27
 PSaidPN.h:28
 PSaidPN.h:29
 PSaidPN.h:30
 PSaidPN.h:31
 PSaidPN.h:32
 PSaidPN.h:33
 PSaidPN.h:34
 PSaidPN.h:35
 PSaidPN.h:36
 PSaidPN.h:37
 PSaidPN.h:38
 PSaidPN.h:39
 PSaidPN.h:40