// PSaid Class Header


#ifndef _PSAIDLOWENERGY_H_
#define _PSAIDLOWENERGY_H_

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

class PSaidLowEnergy : public PAngularDistribution {

 public:
    
    PSaidLowEnergy();
    PSaidLowEnergy(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(PSaidLowEnergy, 0) //Pluto SAID Class (low energy)

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