// src directory =/home/dke/Documents/project/nexus//src/au/gov/ansto/bragg/nexus/auto/
package au.gov.ansto.bragg.nexus.auto;
import neutron.nexus.*;
import au.gov.ansto.bragg.nexus.base.*;

//  Generated from XML template(http://svn.nexusformat.org/definitions/trunk/base_classes/NXmoderator.xml)
/** 
URL:     http://www.nexus.anl.gov/classes/xml/NXmoderator.xml
Editor:  NIAC
$Id$

This is the description for a general moderator 
 */

 public class NXmoderator
 extends NXgroup_ {


/** Property string for bean property 'nXgeometry' */
final static public String $nXgeometry = "nXgeometry";

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {"Engineering" position of moderator}? */
private NXgeometry nXgeometry_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {"Engineering" position of moderator}? */
public NXgeometry getNXgeometry(){
 return nXgeometry_;
}
public void setNXgeometry(final NXgeometry nXgeometry){
 nXgeometry_ = nXgeometry;
}

/** Property string for bean property 'distance' */
final static public String $distance = "distance";

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Effective distance as seen by measuring radiation}? */
private Distance distance_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Effective distance as seen by measuring radiation}? */
public Distance getDistance(){
 return distance_;
}
public void setDistance(final Distance distance){
 distance_ = distance;
}

/** Property string for bean property 'type' */
final static public String $type = "type";

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** { "H20" | "D20" | "Liquid H2" | "Liquid CH4" | "Liquid D2" | "Solid D2" | "C" |"Solid CH4" | "Solid H2"}? */
private Type type_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** { "H20" | "D20" | "Liquid H2" | "Liquid CH4" | "Liquid D2" | "Solid D2" | "C" |"Solid CH4" | "Solid H2"}? */
public Type getType(){
 return type_;
}
public void setType(final Type type){
 type_ = type;
}

/** Property string for bean property 'poison_depth' */
final static public String $poison_depth = "poison_depth";

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Poison depth}? */
private Poison_depth poison_depth_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Poison depth}? */
public Poison_depth getPoison_depth(){
 return poison_depth_;
}
public void setPoison_depth(final Poison_depth poison_depth){
 poison_depth_ = poison_depth;
}

/** Property string for bean property 'coupled' */
final static public String $coupled = "coupled";

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {whether the moderator is coupled}? */
private Coupled coupled_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {whether the moderator is coupled}? */
public Coupled getCoupled(){
 return coupled_;
}
public void setCoupled(final Coupled coupled){
 coupled_ = coupled;
}

/** Property string for bean property 'poison_material' */
final static public String $poison_material = "poison_material";

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator ( ) means (WARNING: no multiplicity indicator found)
/** { Gd | Cd |...} */
private Poison_material poison_material_;
// Extracted NeXus multiplicity indicator ( ) means (WARNING: no multiplicity indicator found)
/** { Gd | Cd |...} */
public Poison_material getPoison_material(){
 return poison_material_;
}
public void setPoison_material(final Poison_material poison_material){
 poison_material_ = poison_material;
}

/** Property string for bean property 'temperature' */
final static public String $temperature = "temperature";

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator ( ) means (WARNING: no multiplicity indicator found)
/** {average/nominal moderator temperature} */
private Temperature temperature_;
// Extracted NeXus multiplicity indicator ( ) means (WARNING: no multiplicity indicator found)
/** {average/nominal moderator temperature} */
public Temperature getTemperature(){
 return temperature_;
}
public void setTemperature(final Temperature temperature){
 temperature_ = temperature;
}

/** Property string for bean property 'temperature_log' */
final static public String $temperature_log = "temperature_log";

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator ( ) means (WARNING: no multiplicity indicator found)
/** {log file of moderator temperature} */
private Temperature_log temperature_log_;
// Extracted NeXus multiplicity indicator ( ) means (WARNING: no multiplicity indicator found)
/** {log file of moderator temperature} */
public Temperature_log getTemperature_log(){
 return temperature_log_;
}
public void setTemperature_log(final Temperature_log temperature_log){
 temperature_log_ = temperature_log;
}

/** Property string for bean property 'pulse_shape' */
final static public String $pulse_shape = "pulse_shape";

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator ( ) means (WARNING: no multiplicity indicator found)
/** {moderator pulse shape} */
private Pulse_shape pulse_shape_;
// Extracted NeXus multiplicity indicator ( ) means (WARNING: no multiplicity indicator found)
/** {moderator pulse shape} */
public Pulse_shape getPulse_shape(){
 return pulse_shape_;
}
public void setPulse_shape(final Pulse_shape pulse_shape){
 pulse_shape_ = pulse_shape;
}


/** constructor */
public NXmoderator(){
 super();
}



static public class Distance
 extends NXdataItem_ {



/** constructor */
public Distance(){
 super();
}


/** constructor */
public Distance(Float content){
 super(content);
}

}


static public class Type
 extends NXdataItem_ {



/** constructor */
public Type(){
 super();
}


/** constructor */
public Type(String content){
 super(content);
}

}


static public class Poison_depth
 extends NXdataItem_ {



/** constructor */
public Poison_depth(){
 super();
}


/** constructor */
public Poison_depth(Float content){
 super(content);
}

}


static public class Coupled
 extends NXdataItem_ {



/** constructor */
public Coupled(){
 super();
}


/** constructor */
public Coupled(Object content){
 super(content);
}

}


static public class Poison_material
 extends NXdataItem_ {



/** constructor */
public Poison_material(){
 super();
}


/** constructor */
public Poison_material(String content){
 super(content);
}

}


static public class Temperature
 extends NXdataItem_ {


/** Property string for bean property 'Units' */
final static public String $Units = "Units";

// indexed = false
// required = false
private String Units_;
public String getUnits(){
 return Units_;
}
public void setUnits(final String Units){
 Units_ = Units;
}


/** constructor */
public Temperature(){
 super();
}


/** constructor */
public Temperature(Float content){
 super(content);
}

}


static public class Temperature_log
 extends NXdataItem_ {



/** constructor */
public Temperature_log(){
 super();
}


/** constructor */
public Temperature_log(Object content){
 super(content);
}

}


static public class Pulse_shape
 extends NXdataItem_ {



/** constructor */
public Pulse_shape(){
 super();
}


/** constructor */
public Pulse_shape(Object content){
 super(content);
}

}
}
