// Author: Kagarlis
// Written: 23.5.2007
// Revised: I. Froehlich (from PData)

#ifndef _PBREITWIGNER_H_
#define _PBREITWIGNER_H_

#include "TF1.h"
#include "TF2.h"
#include "PHadronModel.h"

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

    using PDistribution::GetWeight;   
    virtual Double_t GetWeight(Double_t *mass, Int_t *didx=NULL);
    using PDistribution::SampleMass;
    Bool_t SampleMass(Double_t *mass, Int_t *didx=NULL);

    void SetWidthModel(PChannelModel *m) {
	//overwrites the partial model from the data base
	width_model = m;
    };
    
 protected:
  
    Double_t mr; // Resonance pole mass
    PChannelModel *width_model;

    ClassDef(PBreitWigner,0)  // Breit Wigner with mass-dependent width
};

#endif


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