// 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/NXsource.xml)
/** 
URL:     http://www.nexus.anl.gov/classes/xml/NXsource.xml
Editor:  NIAC
$Id$

Template of the neutron or x-ray source, insertion devices and/or moderators.

 */

 public class NXsource
 extends NXgroup_ {


/** 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 from sample}{Distance as seen by radiation from sample. This number should be negative to signify that it is upstream of the sample.}? */
private Distance distance_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Effective distance from sample}{Distance as seen by radiation from sample. This number should be negative to signify that it is upstream of the sample.}? */
public Distance getDistance(){
 return distance_;
}
public void setDistance(final Distance distance){
 distance_ = distance;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Name of source}? */
private ExtraName extraName_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Name of source}? */
public ExtraName getExtraName(){
 return extraName_;
}
public void setExtraName(final ExtraName extraName){
 extraName_ = extraName;
}

/** 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))
/** "Spallation Neutron Source"|"Pulsed Reactor Neutron Source"|"Reactor Neutron Source"|"Synchrotron X-ray Source"|"Pulsed Muon Source"|"Rotating Anode X-ray"|Fixed Tube X-ray"? */
private Type type_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** "Spallation Neutron Source"|"Pulsed Reactor Neutron Source"|"Reactor Neutron Source"|"Synchrotron X-ray Source"|"Pulsed Muon Source"|"Rotating Anode X-ray"|Fixed Tube X-ray"? */
public Type getType(){
 return type_;
}
public void setType(final Type type){
 type_ = type;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** neutron|x-ray|muon|electron? */
private Probe probe_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** neutron|x-ray|muon|electron? */
public Probe getProbe(){
 return probe_;
}
public void setProbe(final Probe probe){
 probe_ = probe;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Source power}? */
private Power power_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Source power}? */
public Power getPower(){
 return power_;
}
public void setPower(final Power power){
 power_ = power;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Accelerator current}? */
private Current current_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Accelerator current}? */
public Current getCurrent(){
 return current_;
}
public void setCurrent(final Current current){
 current_ = current;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Accelerator voltage}? */
private Voltage voltage_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Accelerator voltage}? */
public Voltage getVoltage(){
 return voltage_;
}
public void setVoltage(final Voltage voltage){
 voltage_ = voltage;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Frequency of pulsed source}? */
private Frequency frequency_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Frequency of pulsed source}? */
public Frequency getFrequency(){
 return frequency_;
}
public void setFrequency(final Frequency frequency){
 frequency_ = frequency;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Period of pulsed source}? */
private Period period_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Period of pulsed source}? */
public Period getPeriod(){
 return period_;
}
public void setPeriod(final Period period){
 period_ = period;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Pulsed source target material} {"Ta"|"W"|"depleted_U"|"enriched_U"|"Hg"|"Pb"|"C"}? */
private Target_material target_material_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Pulsed source target material} {"Ta"|"W"|"depleted_U"|"enriched_U"|"Hg"|"Pb"|"C"}? */
public Target_material getTarget_material(){
 return target_material_;
}
public void setTarget_material(final Target_material target_material){
 target_material_ = target_material;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {any source/facility related messages/events that occurred during the experiment}? */
private Notes notes_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {any source/facility related messages/events that occurred during the experiment}? */
public Notes getNotes(){
 return notes_;
}
public void setNotes(final Notes notes){
 notes_ = notes;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {width of source pulse}? */
private Pulse_width pulse_width_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {width of source pulse}? */
public Pulse_width getPulse_width(){
 return pulse_width_;
}
public void setPulse_width(final Pulse_width pulse_width){
 pulse_width_ = pulse_width;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {source pulse shape}? */
private Pulse_shape pulse_shape_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {source pulse shape}? */
public Pulse_shape getPulse_shape(){
 return pulse_shape_;
}
public void setPulse_shape(final Pulse_shape pulse_shape){
 pulse_shape_ = pulse_shape;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {synchrotron operating mode}{"Single Bunch"|"Multi Bunch"}? */
private Mode mode_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {synchrotron operating mode}{"Single Bunch"|"Multi Bunch"}? */
public Mode getMode(){
 return mode_;
}
public void setMode(final Mode mode){
 mode_ = mode;
}

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

// indexed = false
// required = false
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Is the synchrotron operating in top_up mode}? */
private Top_up top_up_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {Is the synchrotron operating in top_up mode}? */
public Top_up getTop_up(){
 return top_up_;
}
public void setTop_up(final Top_up top_up){
 top_up_ = top_up;
}

/** 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" location of source}? */
private NXgeometry nXgeometry_;
// Extracted NeXus multiplicity indicator (?) means (May occur 0 or one times (i.e. no more than once))
/** {"Engineering" location of source}? */
public NXgeometry getNXgeometry(){
 return nXgeometry_;
}
public void setNXgeometry(final NXgeometry nXgeometry){
 nXgeometry_ = nXgeometry;
}


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



static public class Distance
 extends NXdataItem_ {



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


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

}


static public class ExtraName
 extends NXdataItem_ {



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


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

}


static public class Type
 extends NXdataItem_ {



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


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

}


static public class Probe
 extends NXdataItem_ {



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


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

}


static public class Power
 extends NXdataItem_ {



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


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

}


static public class Current
 extends NXdataItem_ {



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


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

}


static public class Voltage
 extends NXdataItem_ {



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


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

}


static public class Frequency
 extends NXdataItem_ {



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


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

}


static public class Period
 extends NXdataItem_ {



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


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

}


static public class Target_material
 extends NXdataItem_ {



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


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

}


static public class Notes
 extends NXdataItem_ {



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


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

}


static public class Pulse_width
 extends NXdataItem_ {



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


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

}


static public class Pulse_shape
 extends NXdataItem_ {



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


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

}


static public class Mode
 extends NXdataItem_ {



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


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

}


static public class Top_up
 extends NXdataItem_ {



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


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

}
}
