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

#ifndef _PGENBOD_H_
#define _PGENBOD_H_



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

#define MAX_GENBOD_NUM 10


class PGenBod : public PChannelModel  {
  
 public:
    PGenBod();
    PGenBod(const Char_t *id, const Char_t *de, Int_t key);
    
    PDistribution *Clone(const char*delme=NULL) const;

    Bool_t Init(void);
    Bool_t SampleMomentum(void);

    using PChannelModel::GetWeight;
    Double_t GetWeight();

    void UseWeights(void){SetVersionFlag(VERSION_WEIGHTING);};

    void   Print(const Option_t* delme=NULL) const;  //Debug info
    
 private:

    PParticle *parent, *primary, *daughter[MAX_GENBOD_NUM];
    int    n_daughters;
    Double_t local_weight,weight_max;

    PChannelModel *correlator;
    
    ClassDef(PGenBod, 0) //Pluto's adaption from the original genbod
};

#endif


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