////////////////////////////////////////////////////////////////////////
//
// $Id: NuSource.h,v 1.2 2001/10/28 15:25:17 bviren Exp $
//
// NuSource
//
// Package: elbo
//
// Base class for all providers of neutrinos.
//
// Contact: bv@bnl.gov
//
// Created on: Fri Oct 26 15:20:02 2001
//
////////////////////////////////////////////////////////////////////////

#ifndef NUSOURCE_H
#define NUSOURCE_H

class NuSource
{

public:

    NuSource() {}
    virtual ~NuSource() {}

    // Called to get next neutrino.  nutype is 1,2,3 for e,mu,tau
    // negative for anti nus.  Weight is how much this neutrino is
    // worth Return bool if no more neutrinos to slurp.
    virtual bool operator()(int& nutype, double& energy, double& weight,
                            double dir[3], double pos[3]) = 0;
    
};                              // end of class NuSource

#endif  // NUSOURCE_H
