package hep.io.stdhep;
import java.io.IOException;
import hep.io.xdr.XDRDataOutput;
import hep.io.xdr.XDRDataInput;
/**
* A base class for stdhep begin/end run records.
* @author Tony Johnson (tonyj@slac.stanford.edu)
* @version $Id: StdhepRunRecord.java 9132 2006-10-13 05:39:06Z tonyj $
*/
public abstract class StdhepRunRecord extends StdhepRecord
{
private double stdseed1;
private double stdseed2;
private float stdecom;
private float stdxsec;
private int nevtgen;
private int nevtreq;
private int nevtwrt;
protected StdhepRunRecord(int id, int nevtreq, int nevtgen, int nevtwrt, float stdecom, float stdxsec, double stdseed1, double stdseed2)
{
super(id);
this.length = 13 * 4;
this.version = STDHEP_VERSION;
this.nevtreq = nevtreq;
this.nevtgen = nevtgen;
this.nevtwrt = nevtwrt;
this.stdecom = stdecom;
this.stdxsec = stdxsec;
this.stdseed1 = stdseed1;
this.stdseed2 = stdseed2;
}
StdhepRunRecord(int id)
{
super(id);
}
public int nevtgen()
{
return nevtgen;
}
public int nevtreq()
{
return nevtreq;
}
public int nevtwrt()
{
return nevtwrt;
}
public void read(XDRDataInput xdr) throws IOException
{
super.read(xdr);
nevtreq = xdr.readInt();
nevtgen = xdr.readInt();
nevtwrt = xdr.readInt();
stdecom = xdr.readFloat();
stdxsec = xdr.readFloat();
stdseed1 = xdr.readDouble();
stdseed2 = xdr.readDouble();
}
public float stdecom()
{
return stdecom;
}
public double stdseed1()
{
return stdseed1;
}
public double stdseed2()
{
return stdseed2;
}
public float stdxsec()
{
return stdxsec;
}
public void write(XDRDataOutput xdr) throws IOException
{
super.write(xdr);
xdr.writeInt(nevtreq);
xdr.writeInt(nevtgen);
xdr.writeInt(nevtwrt);
xdr.writeFloat(stdecom);
xdr.writeFloat(stdxsec);
xdr.writeDouble(stdseed1);
xdr.writeDouble(stdseed2);
}
}