Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Ranbo.h

Go to the documentation of this file.
00001 // -*- C++ -*-  $Id: Ranbo.h,v 1.1 2000/01/17 23:37:32 burnett Exp $
00002 //
00003 // This file is part of Gismo 2
00004 //
00005 // Define the class Ranbo, which implements generation of n-body phase space
00006 // according to the RAndom Momenta Beautifully Organized algorighm invented
00007 // of Kleiss, Ellis, and Stirling, Comput. Phys. Commun. 40,356,1986.
00008 // Coded 3 May 1994 by T. H. Burnett
00009 
00010 #ifndef __RANBO_H
00011 #define __RANBO_H
00012 
00013 #include "CLHEP/Vector/LorentzVector.h"
00014 class HepRandom;
00015 
00016 class Ranbo
00017 {
00018 public:
00019   Ranbo(double W, unsigned n, double mu[],HepRandom& ran);
00020   // construct n momenta for particles of masses mu, total energy W
00021 
00022   ~Ranbo();
00023   Hep3Vector&  operator[](unsigned i){return (Hep3Vector&)q[i];}
00024   // return the ith 3-momentum
00025 
00026   float weight(){return _weight;}
00027   // return the weight for the event
00028 private:
00029   float _weight;
00030 
00031   class Ran4Vec: public HepLorentzVector
00032   {
00033          public:
00034          Ran4Vec();
00035          Ran4Vec & operator *= (float f);
00036   };
00037   Ran4Vec* q;
00038   // array of lorentz vectors
00039 
00040 };
00041 
00042 
00043 #endif
00044 

Generated at Mon Nov 26 18:18:34 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000