#ifndef _PHADESPARTICLESMEARER_H_
#define _PHADESPARTICLESMEARER_H_
#include "TObject.h"
#include "PBulkInterface.h"
#include "PUtils.h"
class PHadesParticleSmearer: public PBulkInterface {
 
 public:
    PHadesParticleSmearer();
    
    Bool_t Modify(PParticle **stack, int *decay_done, int *num, int stacksize);   
    
    void SetResolutionFactor(Double_t x) {
	resolution_factor = x;
    };
 protected:
    static double detrk4[7][5] ;
    static double multscrk4[7][5] ;
    static double detrk3[7][5] ;
    static double multscrk3[7][5] ;
    static double detkick[7][5] ;
    TRandom3 rand;
    double GetResolution(PParticle *p, Int_t iSetup=4);
    void   Smear(PParticle *p, double gamma);
    double resolution_factor ;
 
    ClassDef(PHadesParticleSmearer, 0)  
};
#endif
 PHadesParticleSmearer.h:1  PHadesParticleSmearer.h:2  PHadesParticleSmearer.h:3  PHadesParticleSmearer.h:4  PHadesParticleSmearer.h:5  PHadesParticleSmearer.h:6  PHadesParticleSmearer.h:7  PHadesParticleSmearer.h:8  PHadesParticleSmearer.h:9  PHadesParticleSmearer.h:10  PHadesParticleSmearer.h:11  PHadesParticleSmearer.h:12  PHadesParticleSmearer.h:13  PHadesParticleSmearer.h:14  PHadesParticleSmearer.h:15  PHadesParticleSmearer.h:16  PHadesParticleSmearer.h:17  PHadesParticleSmearer.h:18  PHadesParticleSmearer.h:19  PHadesParticleSmearer.h:20  PHadesParticleSmearer.h:21  PHadesParticleSmearer.h:22  PHadesParticleSmearer.h:23  PHadesParticleSmearer.h:24  PHadesParticleSmearer.h:25  PHadesParticleSmearer.h:26  PHadesParticleSmearer.h:27  PHadesParticleSmearer.h:28  PHadesParticleSmearer.h:29  PHadesParticleSmearer.h:30  PHadesParticleSmearer.h:31  PHadesParticleSmearer.h:32  PHadesParticleSmearer.h:33  PHadesParticleSmearer.h:34  PHadesParticleSmearer.h:35  PHadesParticleSmearer.h:36  PHadesParticleSmearer.h:37  PHadesParticleSmearer.h:38  PHadesParticleSmearer.h:39  PHadesParticleSmearer.h:40  PHadesParticleSmearer.h:41  PHadesParticleSmearer.h:42