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


#ifndef _PBREMSSTRAHLUNG_PLUGIN_H_
#define _PBREMSSTRAHLUNG_PLUGIN_H_

#include "TROOT.h"

#include "PChannelModel.h"
#include "PDistributionManagerUtil.h"
#include "PDistributionCollection.h"

#include "PBremsstrahlung.h"
#include "PInclusiveModel.h"
#include "../elementary/PNNFSI.h"
#include "PArray.h"

using namespace std;

class PBremsstrahlungPlugin : public PDistributionCollection {
    
 public:

    //constructor
    PBremsstrahlungPlugin(const Char_t *id, const Char_t *de);
    //destructor
    ~PBremsstrahlungPlugin();

    Bool_t ExecCommand(const char *command, Double_t value); 

    Bool_t Activate(void);

 private:

    PBremsstrahlung *pn, *pp, *pn_kk, *pp_kk;
    PBremsstrahlung *pn_sm_total,   *pp_sm_total;     //Shyam sum
    PBremsstrahlung *pn_sm_elastic, *pp_sm_elastic; //Shyam elastic
    PBremsstrahlung *pn_sm_delta,   *pp_sm_delta;     //Shyam delta
    PBremsstrahlung *pn_sm_n1520,   *pp_sm_n1520;     //Shyam n1520

    PInclusiveModel *pn_gen, *pp_gen;
    PNNFSI          *pn_fsi, *pp_fsi, *np_fsi;

    PArray          *array_pp_sm_125, *array_pn_sm_125;

    Double_t kin_max;
    Int_t    current_author;

    ClassDef(PBremsstrahlungPlugin, 0) //Plugin to activate KK or SM Bremsstrahlung
};

#endif //_PBREMSSTRAHLUNG_PLUGIN_H_







 PBremsstrahlungPlugin.h:1
 PBremsstrahlungPlugin.h:2
 PBremsstrahlungPlugin.h:3
 PBremsstrahlungPlugin.h:4
 PBremsstrahlungPlugin.h:5
 PBremsstrahlungPlugin.h:6
 PBremsstrahlungPlugin.h:7
 PBremsstrahlungPlugin.h:8
 PBremsstrahlungPlugin.h:9
 PBremsstrahlungPlugin.h:10
 PBremsstrahlungPlugin.h:11
 PBremsstrahlungPlugin.h:12
 PBremsstrahlungPlugin.h:13
 PBremsstrahlungPlugin.h:14
 PBremsstrahlungPlugin.h:15
 PBremsstrahlungPlugin.h:16
 PBremsstrahlungPlugin.h:17
 PBremsstrahlungPlugin.h:18
 PBremsstrahlungPlugin.h:19
 PBremsstrahlungPlugin.h:20
 PBremsstrahlungPlugin.h:21
 PBremsstrahlungPlugin.h:22
 PBremsstrahlungPlugin.h:23
 PBremsstrahlungPlugin.h:24
 PBremsstrahlungPlugin.h:25
 PBremsstrahlungPlugin.h:26
 PBremsstrahlungPlugin.h:27
 PBremsstrahlungPlugin.h:28
 PBremsstrahlungPlugin.h:29
 PBremsstrahlungPlugin.h:30
 PBremsstrahlungPlugin.h:31
 PBremsstrahlungPlugin.h:32
 PBremsstrahlungPlugin.h:33
 PBremsstrahlungPlugin.h:34
 PBremsstrahlungPlugin.h:35
 PBremsstrahlungPlugin.h:36
 PBremsstrahlungPlugin.h:37
 PBremsstrahlungPlugin.h:38
 PBremsstrahlungPlugin.h:39
 PBremsstrahlungPlugin.h:40
 PBremsstrahlungPlugin.h:41
 PBremsstrahlungPlugin.h:42
 PBremsstrahlungPlugin.h:43
 PBremsstrahlungPlugin.h:44
 PBremsstrahlungPlugin.h:45
 PBremsstrahlungPlugin.h:46
 PBremsstrahlungPlugin.h:47
 PBremsstrahlungPlugin.h:48
 PBremsstrahlungPlugin.h:49
 PBremsstrahlungPlugin.h:50
 PBremsstrahlungPlugin.h:51
 PBremsstrahlungPlugin.h:52
 PBremsstrahlungPlugin.h:53
 PBremsstrahlungPlugin.h:54
 PBremsstrahlungPlugin.h:55
 PBremsstrahlungPlugin.h:56
 PBremsstrahlungPlugin.h:57
 PBremsstrahlungPlugin.h:58
 PBremsstrahlungPlugin.h:59
 PBremsstrahlungPlugin.h:60
 PBremsstrahlungPlugin.h:61
 PBremsstrahlungPlugin.h:62