// Author: I. Froehlich
// Written: 15.8.2008
// Revised: 

#ifndef _PNNFSI_H_
#define _PNNFSI_H_

#include "TF1.h"
#include "TF2.h"
#include "PChannelModel.h"

#define NNFSI_MAX_DAUGHTERS 10

class PNNFSI : public PChannelModel  {
  
 public:

    PNNFSI();
    PNNFSI(const Char_t *id, const Char_t *de, Int_t key);
    PDistribution *Clone(const char *delme=NULL) const;

    Bool_t Init(void);
    using PChannelModel::SampleMass;

    using PChannelModel::GetWeight;
    Double_t GetWeight(void);
    Double_t GetWeight(Double_t *mass, Int_t *didx=NULL);
    
    void SetA0R0(Double_t a, Double_t r) {
	a0 = a;
	r0 = r;
    };

 private:

    void Setup(void);
    PParticle *n1, *n2, *daughters[NNFSI_MAX_DAUGHTERS]; 
    Int_t daughter_pos, triplet, is_np;
    Double_t r0, a0, weight;

    ClassDef(PNNFSI, 0)  // NN FSI using the Jost function
};



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