001/**
002 * Autogenerated by Avro
003 *
004 * DO NOT EDIT DIRECTLY
005 */
006package ztf.alert;
007
008import org.apache.avro.specific.SpecificData;
009import org.apache.avro.message.BinaryMessageEncoder;
010import org.apache.avro.message.BinaryMessageDecoder;
011import org.apache.avro.message.SchemaStore;
012
013@SuppressWarnings("all")
014/** avro alert schema */
015@org.apache.avro.specific.AvroGenerated
016public class candidate extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
017  private static final long serialVersionUID = -8620948752126032678L;
018  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"candidate\",\"namespace\":\"ztf.alert\",\"doc\":\"avro alert schema\",\"fields\":[{\"name\":\"jd\",\"type\":\"double\",\"doc\":\"Observation Julian date at start of exposure [days]\"},{\"name\":\"fid\",\"type\":\"int\",\"doc\":\"Filter ID (1=g; 2=R; 3=i)\"},{\"name\":\"pid\",\"type\":\"long\",\"doc\":\"Processing ID for science image to facilitate archive retrieval\"},{\"name\":\"diffmaglim\",\"type\":[\"float\",\"null\"],\"doc\":\"Expected 5-sigma mag limit in difference image based on global noise estimate [mag]\",\"default\":null},{\"name\":\"pdiffimfilename\",\"type\":[\"string\",\"null\"],\"doc\":\"filename of positive (sci minus ref) difference image\",\"default\":null},{\"name\":\"programpi\",\"type\":[\"string\",\"null\"],\"doc\":\"Principal investigator attached to program ID\",\"default\":null},{\"name\":\"programid\",\"type\":\"int\",\"doc\":\"Program ID: encodes either public, collab, or caltech mode\"},{\"name\":\"candid\",\"type\":\"long\",\"doc\":\"Candidate ID from operations DB\"},{\"name\":\"isdiffpos\",\"type\":\"string\",\"doc\":\"t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction\"},{\"name\":\"tblid\",\"type\":[\"long\",\"null\"],\"doc\":\"Internal pipeline table extraction ID\",\"default\":null},{\"name\":\"nid\",\"type\":[\"int\",\"null\"],\"doc\":\"Night ID\",\"default\":null},{\"name\":\"rcid\",\"type\":[\"int\",\"null\"],\"doc\":\"Readout channel ID [00 .. 63]\",\"default\":null},{\"name\":\"field\",\"type\":[\"int\",\"null\"],\"doc\":\"ZTF field ID\",\"default\":null},{\"name\":\"xpos\",\"type\":[\"float\",\"null\"],\"doc\":\"x-image position of candidate [pixels]\",\"default\":null},{\"name\":\"ypos\",\"type\":[\"float\",\"null\"],\"doc\":\"y-image position of candidate [pixels]\",\"default\":null},{\"name\":\"ra\",\"type\":\"double\",\"doc\":\"Right Ascension of candidate; J2000 [deg]\"},{\"name\":\"dec\",\"type\":\"double\",\"doc\":\"Declination of candidate; J2000 [deg]\"},{\"name\":\"magpsf\",\"type\":\"float\",\"doc\":\"Magnitude from PSF-fit photometry [mag]\"},{\"name\":\"sigmapsf\",\"type\":\"float\",\"doc\":\"1-sigma uncertainty in magpsf [mag]\"},{\"name\":\"chipsf\",\"type\":[\"float\",\"null\"],\"doc\":\"Reduced chi-square for PSF-fit\",\"default\":null},{\"name\":\"magap\",\"type\":[\"float\",\"null\"],\"doc\":\"Aperture mag using 14 pixel diameter aperture [mag]\",\"default\":null},{\"name\":\"sigmagap\",\"type\":[\"float\",\"null\"],\"doc\":\"1-sigma uncertainty in magap [mag]\",\"default\":null},{\"name\":\"distnr\",\"type\":[\"float\",\"null\"],\"doc\":\"distance to nearest source in reference image PSF-catalog [pixels]\",\"default\":null},{\"name\":\"magnr\",\"type\":[\"float\",\"null\"],\"doc\":\"magnitude of nearest source in reference image PSF-catalog [mag]\",\"default\":null},{\"name\":\"sigmagnr\",\"type\":[\"float\",\"null\"],\"doc\":\"1-sigma uncertainty in magnr [mag]\",\"default\":null},{\"name\":\"chinr\",\"type\":[\"float\",\"null\"],\"doc\":\"DAOPhot chi parameter of nearest source in reference image PSF-catalog\",\"default\":null},{\"name\":\"sharpnr\",\"type\":[\"float\",\"null\"],\"doc\":\"DAOPhot sharp parameter of nearest source in reference image PSF-catalog\",\"default\":null},{\"name\":\"sky\",\"type\":[\"float\",\"null\"],\"doc\":\"Local sky background estimate [DN]\",\"default\":null},{\"name\":\"magdiff\",\"type\":[\"float\",\"null\"],\"doc\":\"Difference: magap - magpsf [mag]\",\"default\":null},{\"name\":\"fwhm\",\"type\":[\"float\",\"null\"],\"doc\":\"Full Width Half Max assuming a Gaussian core, from SExtractor [pixels]\",\"default\":null},{\"name\":\"classtar\",\"type\":[\"float\",\"null\"],\"doc\":\"Star/Galaxy classification score from SExtractor\",\"default\":null},{\"name\":\"mindtoedge\",\"type\":[\"float\",\"null\"],\"doc\":\"Distance to nearest edge in image [pixels]\",\"default\":null},{\"name\":\"magfromlim\",\"type\":[\"float\",\"null\"],\"doc\":\"Difference: diffmaglim - magap [mag]\",\"default\":null},{\"name\":\"seeratio\",\"type\":[\"float\",\"null\"],\"doc\":\"Ratio: difffwhm / fwhm\",\"default\":null},{\"name\":\"aimage\",\"type\":[\"float\",\"null\"],\"doc\":\"Windowed profile RMS afloat major axis from SExtractor [pixels]\",\"default\":null},{\"name\":\"bimage\",\"type\":[\"float\",\"null\"],\"doc\":\"Windowed profile RMS afloat minor axis from SExtractor [pixels]\",\"default\":null},{\"name\":\"aimagerat\",\"type\":[\"float\",\"null\"],\"doc\":\"Ratio: aimage / fwhm\",\"default\":null},{\"name\":\"bimagerat\",\"type\":[\"float\",\"null\"],\"doc\":\"Ratio: bimage / fwhm\",\"default\":null},{\"name\":\"elong\",\"type\":[\"float\",\"null\"],\"doc\":\"Ratio: aimage / bimage\",\"default\":null},{\"name\":\"nneg\",\"type\":[\"int\",\"null\"],\"doc\":\"number of negative pixels in a 5 x 5 pixel stamp\",\"default\":null},{\"name\":\"nbad\",\"type\":[\"int\",\"null\"],\"doc\":\"number of prior-tagged bad pixels in a 5 x 5 pixel stamp\",\"default\":null},{\"name\":\"rb\",\"type\":[\"float\",\"null\"],\"doc\":\"RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable\",\"default\":null},{\"name\":\"ssdistnr\",\"type\":[\"float\",\"null\"],\"doc\":\"distance to nearest known solar system object if exists within 30 arcsec [arcsec]\",\"default\":null},{\"name\":\"ssmagnr\",\"type\":[\"float\",\"null\"],\"doc\":\"magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag]\",\"default\":null},{\"name\":\"ssnamenr\",\"type\":[\"string\",\"null\"],\"doc\":\"name of nearest known solar system object if exists within 30 arcsec (from MPC archive)\",\"default\":null},{\"name\":\"sumrat\",\"type\":[\"float\",\"null\"],\"doc\":\"Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers\",\"default\":null},{\"name\":\"magapbig\",\"type\":[\"float\",\"null\"],\"doc\":\"Aperture mag using 18 pixel diameter aperture [mag]\",\"default\":null},{\"name\":\"sigmagapbig\",\"type\":[\"float\",\"null\"],\"doc\":\"1-sigma uncertainty in magapbig [mag]\",\"default\":null},{\"name\":\"ranr\",\"type\":\"double\",\"doc\":\"Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg]\"},{\"name\":\"decnr\",\"type\":\"double\",\"doc\":\"Declination of nearest source in reference image PSF-catalog; J2000 [deg]\"},{\"name\":\"sgmag1\",\"type\":[\"float\",\"null\"],\"doc\":\"g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"srmag1\",\"type\":[\"float\",\"null\"],\"doc\":\"r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"simag1\",\"type\":[\"float\",\"null\"],\"doc\":\"i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"szmag1\",\"type\":[\"float\",\"null\"],\"doc\":\"z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"sgscore1\",\"type\":[\"float\",\"null\"],\"doc\":\"Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star\",\"default\":null},{\"name\":\"distpsnr1\",\"type\":[\"float\",\"null\"],\"doc\":\"Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec]\",\"default\":null},{\"name\":\"ndethist\",\"type\":\"int\",\"doc\":\"Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted\"},{\"name\":\"ncovhist\",\"type\":\"int\",\"doc\":\"Number of times input candidate position fell on any field and readout-channel going back to beginning of survey\"},{\"name\":\"jdstarthist\",\"type\":[\"double\",\"null\"],\"doc\":\"Earliest Julian date of epoch corresponding to ndethist [days]\",\"default\":null},{\"name\":\"jdendhist\",\"type\":[\"double\",\"null\"],\"doc\":\"Latest Julian date of epoch corresponding to ndethist [days]\",\"default\":null},{\"name\":\"scorr\",\"type\":[\"double\",\"null\"],\"doc\":\"Peak-pixel signal-to-noise ratio in point source matched-filtered detection image\",\"default\":null},{\"name\":\"tooflag\",\"type\":[\"int\",\"null\"],\"doc\":\"1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure\",\"default\":0},{\"name\":\"objectidps1\",\"type\":[\"long\",\"null\"],\"doc\":\"Object ID of closest source from PS1 catalog; if exists within 30 arcsec\",\"default\":null},{\"name\":\"objectidps2\",\"type\":[\"long\",\"null\"],\"doc\":\"Object ID of second closest source from PS1 catalog; if exists within 30 arcsec\",\"default\":null},{\"name\":\"sgmag2\",\"type\":[\"float\",\"null\"],\"doc\":\"g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"srmag2\",\"type\":[\"float\",\"null\"],\"doc\":\"r-band PSF-","fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"simag2\",\"type\":[\"float\",\"null\"],\"doc\":\"i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"szmag2\",\"type\":[\"float\",\"null\"],\"doc\":\"z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"sgscore2\",\"type\":[\"float\",\"null\"],\"doc\":\"Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star\",\"default\":null},{\"name\":\"distpsnr2\",\"type\":[\"float\",\"null\"],\"doc\":\"Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec]\",\"default\":null},{\"name\":\"objectidps3\",\"type\":[\"long\",\"null\"],\"doc\":\"Object ID of third closest source from PS1 catalog; if exists within 30 arcsec\",\"default\":null},{\"name\":\"sgmag3\",\"type\":[\"float\",\"null\"],\"doc\":\"g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"srmag3\",\"type\":[\"float\",\"null\"],\"doc\":\"r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"simag3\",\"type\":[\"float\",\"null\"],\"doc\":\"i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"szmag3\",\"type\":[\"float\",\"null\"],\"doc\":\"z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]\",\"default\":null},{\"name\":\"sgscore3\",\"type\":[\"float\",\"null\"],\"doc\":\"Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star\",\"default\":null},{\"name\":\"distpsnr3\",\"type\":[\"float\",\"null\"],\"doc\":\"Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec]\",\"default\":null},{\"name\":\"nmtchps\",\"type\":\"int\",\"doc\":\"Number of source matches from PS1 catalog falling within 30 arcsec\"},{\"name\":\"rfid\",\"type\":\"long\",\"doc\":\"Processing ID for reference image to facilitate archive retrieval\"},{\"name\":\"jdstartref\",\"type\":\"double\",\"doc\":\"Observation Julian date of earliest exposure used to generate reference image [days]\"},{\"name\":\"jdendref\",\"type\":\"double\",\"doc\":\"Observation Julian date of latest exposure used to generate reference image [days]\"},{\"name\":\"nframesref\",\"type\":\"int\",\"doc\":\"Number of frames (epochal images) used to generate reference image\"},{\"name\":\"rbversion\",\"type\":\"string\",\"doc\":\"version of RealBogus model/classifier used to assign rb quality score\"},{\"name\":\"dsnrms\",\"type\":[\"float\",\"null\"],\"doc\":\"Ratio: D/stddev(D) on event position where D = difference image\",\"default\":null},{\"name\":\"ssnrms\",\"type\":[\"float\",\"null\"],\"doc\":\"Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D)\",\"default\":null},{\"name\":\"dsdiff\",\"type\":[\"float\",\"null\"],\"doc\":\"Difference of statistics: dsnrms - ssnrms\",\"default\":null},{\"name\":\"magzpsci\",\"type\":[\"float\",\"null\"],\"doc\":\"Magnitude zero point for photometry estimates [mag]\",\"default\":null},{\"name\":\"magzpsciunc\",\"type\":[\"float\",\"null\"],\"doc\":\"Magnitude zero point uncertainty (in magzpsci) [mag]\",\"default\":null},{\"name\":\"magzpscirms\",\"type\":[\"float\",\"null\"],\"doc\":\"RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]\",\"default\":null},{\"name\":\"nmatches\",\"type\":\"int\",\"doc\":\"Number of PS1 photometric calibrators used to calibrate science image from science image processing\"},{\"name\":\"clrcoeff\",\"type\":[\"float\",\"null\"],\"doc\":\"Color coefficient from linear fit from photometric calibration of science image\",\"default\":null},{\"name\":\"clrcounc\",\"type\":[\"float\",\"null\"],\"doc\":\"Color coefficient uncertainty from linear fit (corresponding to clrcoeff)\",\"default\":null},{\"name\":\"zpclrcov\",\"type\":[\"float\",\"null\"],\"doc\":\"Covariance in magzpsci and clrcoeff from science image processing [mag^2]\",\"default\":null},{\"name\":\"zpmed\",\"type\":[\"float\",\"null\"],\"doc\":\"Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]\",\"default\":null},{\"name\":\"clrmed\",\"type\":[\"float\",\"null\"],\"doc\":\"Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively\",\"default\":null},{\"name\":\"clrrms\",\"type\":[\"float\",\"null\"],\"doc\":\"RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag]\",\"default\":null},{\"name\":\"neargaia\",\"type\":[\"float\",\"null\"],\"doc\":\"Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec]\",\"default\":null},{\"name\":\"neargaiabright\",\"type\":[\"float\",\"null\"],\"doc\":\"Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec]\",\"default\":null},{\"name\":\"maggaia\",\"type\":[\"float\",\"null\"],\"doc\":\"Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag]\",\"default\":null},{\"name\":\"maggaiabright\",\"type\":[\"float\",\"null\"],\"doc\":\"Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag]\",\"default\":null},{\"name\":\"exptime\",\"type\":[\"float\",\"null\"],\"doc\":\"Integration time of camera exposure [sec]\",\"default\":null}],\"version\":\"3.2\"}");
019  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
020
021  private static SpecificData MODEL$ = new SpecificData();
022
023  private static final BinaryMessageEncoder<candidate> ENCODER =
024      new BinaryMessageEncoder<candidate>(MODEL$, SCHEMA$);
025
026  private static final BinaryMessageDecoder<candidate> DECODER =
027      new BinaryMessageDecoder<candidate>(MODEL$, SCHEMA$);
028
029  /**
030   * Return the BinaryMessageDecoder instance used by this class.
031   */
032  public static BinaryMessageDecoder<candidate> getDecoder() {
033    return DECODER;
034  }
035
036  /**
037   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
038   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
039   */
040  public static BinaryMessageDecoder<candidate> createDecoder(SchemaStore resolver) {
041    return new BinaryMessageDecoder<candidate>(MODEL$, SCHEMA$, resolver);
042  }
043
044  /** Serializes this candidate to a ByteBuffer. */
045  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
046    return ENCODER.encode(this);
047  }
048
049  /** Deserializes a candidate from a ByteBuffer. */
050  public static candidate fromByteBuffer(
051      java.nio.ByteBuffer b) throws java.io.IOException {
052    return DECODER.decode(b);
053  }
054
055  /** Observation Julian date at start of exposure [days] */
056  @Deprecated public double jd;
057  /** Filter ID (1=g; 2=R; 3=i) */
058  @Deprecated public int fid;
059  /** Processing ID for science image to facilitate archive retrieval */
060  @Deprecated public long pid;
061  /** Expected 5-sigma mag limit in difference image based on global noise estimate [mag] */
062  @Deprecated public java.lang.Float diffmaglim;
063  /** filename of positive (sci minus ref) difference image */
064  @Deprecated public java.lang.CharSequence pdiffimfilename;
065  /** Principal investigator attached to program ID */
066  @Deprecated public java.lang.CharSequence programpi;
067  /** Program ID: encodes either public, collab, or caltech mode */
068  @Deprecated public int programid;
069  /** Candidate ID from operations DB */
070  @Deprecated public long candid;
071  /** t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction */
072  @Deprecated public java.lang.CharSequence isdiffpos;
073  /** Internal pipeline table extraction ID */
074  @Deprecated public java.lang.Long tblid;
075  /** Night ID */
076  @Deprecated public java.lang.Integer nid;
077  /** Readout channel ID [00 .. 63] */
078  @Deprecated public java.lang.Integer rcid;
079  /** ZTF field ID */
080  @Deprecated public java.lang.Integer field;
081  /** x-image position of candidate [pixels] */
082  @Deprecated public java.lang.Float xpos;
083  /** y-image position of candidate [pixels] */
084  @Deprecated public java.lang.Float ypos;
085  /** Right Ascension of candidate; J2000 [deg] */
086  @Deprecated public double ra;
087  /** Declination of candidate; J2000 [deg] */
088  @Deprecated public double dec;
089  /** Magnitude from PSF-fit photometry [mag] */
090  @Deprecated public float magpsf;
091  /** 1-sigma uncertainty in magpsf [mag] */
092  @Deprecated public float sigmapsf;
093  /** Reduced chi-square for PSF-fit */
094  @Deprecated public java.lang.Float chipsf;
095  /** Aperture mag using 14 pixel diameter aperture [mag] */
096  @Deprecated public java.lang.Float magap;
097  /** 1-sigma uncertainty in magap [mag] */
098  @Deprecated public java.lang.Float sigmagap;
099  /** distance to nearest source in reference image PSF-catalog [pixels] */
100  @Deprecated public java.lang.Float distnr;
101  /** magnitude of nearest source in reference image PSF-catalog [mag] */
102  @Deprecated public java.lang.Float magnr;
103  /** 1-sigma uncertainty in magnr [mag] */
104  @Deprecated public java.lang.Float sigmagnr;
105  /** DAOPhot chi parameter of nearest source in reference image PSF-catalog */
106  @Deprecated public java.lang.Float chinr;
107  /** DAOPhot sharp parameter of nearest source in reference image PSF-catalog */
108  @Deprecated public java.lang.Float sharpnr;
109  /** Local sky background estimate [DN] */
110  @Deprecated public java.lang.Float sky;
111  /** Difference: magap - magpsf [mag] */
112  @Deprecated public java.lang.Float magdiff;
113  /** Full Width Half Max assuming a Gaussian core, from SExtractor [pixels] */
114  @Deprecated public java.lang.Float fwhm;
115  /** Star/Galaxy classification score from SExtractor */
116  @Deprecated public java.lang.Float classtar;
117  /** Distance to nearest edge in image [pixels] */
118  @Deprecated public java.lang.Float mindtoedge;
119  /** Difference: diffmaglim - magap [mag] */
120  @Deprecated public java.lang.Float magfromlim;
121  /** Ratio: difffwhm / fwhm */
122  @Deprecated public java.lang.Float seeratio;
123  /** Windowed profile RMS afloat major axis from SExtractor [pixels] */
124  @Deprecated public java.lang.Float aimage;
125  /** Windowed profile RMS afloat minor axis from SExtractor [pixels] */
126  @Deprecated public java.lang.Float bimage;
127  /** Ratio: aimage / fwhm */
128  @Deprecated public java.lang.Float aimagerat;
129  /** Ratio: bimage / fwhm */
130  @Deprecated public java.lang.Float bimagerat;
131  /** Ratio: aimage / bimage */
132  @Deprecated public java.lang.Float elong;
133  /** number of negative pixels in a 5 x 5 pixel stamp */
134  @Deprecated public java.lang.Integer nneg;
135  /** number of prior-tagged bad pixels in a 5 x 5 pixel stamp */
136  @Deprecated public java.lang.Integer nbad;
137  /** RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable */
138  @Deprecated public java.lang.Float rb;
139  /** distance to nearest known solar system object if exists within 30 arcsec [arcsec] */
140  @Deprecated public java.lang.Float ssdistnr;
141  /** magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag] */
142  @Deprecated public java.lang.Float ssmagnr;
143  /** name of nearest known solar system object if exists within 30 arcsec (from MPC archive) */
144  @Deprecated public java.lang.CharSequence ssnamenr;
145  /** Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers */
146  @Deprecated public java.lang.Float sumrat;
147  /** Aperture mag using 18 pixel diameter aperture [mag] */
148  @Deprecated public java.lang.Float magapbig;
149  /** 1-sigma uncertainty in magapbig [mag] */
150  @Deprecated public java.lang.Float sigmagapbig;
151  /** Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg] */
152  @Deprecated public double ranr;
153  /** Declination of nearest source in reference image PSF-catalog; J2000 [deg] */
154  @Deprecated public double decnr;
155  /** g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag] */
156  @Deprecated public java.lang.Float sgmag1;
157  /** r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag] */
158  @Deprecated public java.lang.Float srmag1;
159  /** i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag] */
160  @Deprecated public java.lang.Float simag1;
161  /** z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag] */
162  @Deprecated public java.lang.Float szmag1;
163  /** Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star */
164  @Deprecated public java.lang.Float sgscore1;
165  /** Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec] */
166  @Deprecated public java.lang.Float distpsnr1;
167  /** Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted */
168  @Deprecated public int ndethist;
169  /** Number of times input candidate position fell on any field and readout-channel going back to beginning of survey */
170  @Deprecated public int ncovhist;
171  /** Earliest Julian date of epoch corresponding to ndethist [days] */
172  @Deprecated public java.lang.Double jdstarthist;
173  /** Latest Julian date of epoch corresponding to ndethist [days] */
174  @Deprecated public java.lang.Double jdendhist;
175  /** Peak-pixel signal-to-noise ratio in point source matched-filtered detection image */
176  @Deprecated public java.lang.Double scorr;
177  /** 1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure */
178  @Deprecated public java.lang.Integer tooflag;
179  /** Object ID of closest source from PS1 catalog; if exists within 30 arcsec */
180  @Deprecated public java.lang.Long objectidps1;
181  /** Object ID of second closest source from PS1 catalog; if exists within 30 arcsec */
182  @Deprecated public java.lang.Long objectidps2;
183  /** g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag] */
184  @Deprecated public java.lang.Float sgmag2;
185  /** r-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag] */
186  @Deprecated public java.lang.Float srmag2;
187  /** i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag] */
188  @Deprecated public java.lang.Float simag2;
189  /** z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag] */
190  @Deprecated public java.lang.Float szmag2;
191  /** Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star */
192  @Deprecated public java.lang.Float sgscore2;
193  /** Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec] */
194  @Deprecated public java.lang.Float distpsnr2;
195  /** Object ID of third closest source from PS1 catalog; if exists within 30 arcsec */
196  @Deprecated public java.lang.Long objectidps3;
197  /** g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag] */
198  @Deprecated public java.lang.Float sgmag3;
199  /** r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag] */
200  @Deprecated public java.lang.Float srmag3;
201  /** i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag] */
202  @Deprecated public java.lang.Float simag3;
203  /** z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag] */
204  @Deprecated public java.lang.Float szmag3;
205  /** Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star */
206  @Deprecated public java.lang.Float sgscore3;
207  /** Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec] */
208  @Deprecated public java.lang.Float distpsnr3;
209  /** Number of source matches from PS1 catalog falling within 30 arcsec */
210  @Deprecated public int nmtchps;
211  /** Processing ID for reference image to facilitate archive retrieval */
212  @Deprecated public long rfid;
213  /** Observation Julian date of earliest exposure used to generate reference image [days] */
214  @Deprecated public double jdstartref;
215  /** Observation Julian date of latest exposure used to generate reference image [days] */
216  @Deprecated public double jdendref;
217  /** Number of frames (epochal images) used to generate reference image */
218  @Deprecated public int nframesref;
219  /** version of RealBogus model/classifier used to assign rb quality score */
220  @Deprecated public java.lang.CharSequence rbversion;
221  /** Ratio: D/stddev(D) on event position where D = difference image */
222  @Deprecated public java.lang.Float dsnrms;
223  /** Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D) */
224  @Deprecated public java.lang.Float ssnrms;
225  /** Difference of statistics: dsnrms - ssnrms */
226  @Deprecated public java.lang.Float dsdiff;
227  /** Magnitude zero point for photometry estimates [mag] */
228  @Deprecated public java.lang.Float magzpsci;
229  /** Magnitude zero point uncertainty (in magzpsci) [mag] */
230  @Deprecated public java.lang.Float magzpsciunc;
231  /** RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag] */
232  @Deprecated public java.lang.Float magzpscirms;
233  /** Number of PS1 photometric calibrators used to calibrate science image from science image processing */
234  @Deprecated public int nmatches;
235  /** Color coefficient from linear fit from photometric calibration of science image */
236  @Deprecated public java.lang.Float clrcoeff;
237  /** Color coefficient uncertainty from linear fit (corresponding to clrcoeff) */
238  @Deprecated public java.lang.Float clrcounc;
239  /** Covariance in magzpsci and clrcoeff from science image processing [mag^2] */
240  @Deprecated public java.lang.Float zpclrcov;
241  /** Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag] */
242  @Deprecated public java.lang.Float zpmed;
243  /** Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively */
244  @Deprecated public java.lang.Float clrmed;
245  /** RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag] */
246  @Deprecated public java.lang.Float clrrms;
247  /** Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec] */
248  @Deprecated public java.lang.Float neargaia;
249  /** Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec] */
250  @Deprecated public java.lang.Float neargaiabright;
251  /** Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag] */
252  @Deprecated public java.lang.Float maggaia;
253  /** Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag] */
254  @Deprecated public java.lang.Float maggaiabright;
255  /** Integration time of camera exposure [sec] */
256  @Deprecated public java.lang.Float exptime;
257
258  /**
259   * Default constructor.  Note that this does not initialize fields
260   * to their default values from the schema.  If that is desired then
261   * one should use <code>newBuilder()</code>.
262   */
263  public candidate() {}
264
265  /**
266   * All-args constructor.
267   * @param jd Observation Julian date at start of exposure [days]
268   * @param fid Filter ID (1=g; 2=R; 3=i)
269   * @param pid Processing ID for science image to facilitate archive retrieval
270   * @param diffmaglim Expected 5-sigma mag limit in difference image based on global noise estimate [mag]
271   * @param pdiffimfilename filename of positive (sci minus ref) difference image
272   * @param programpi Principal investigator attached to program ID
273   * @param programid Program ID: encodes either public, collab, or caltech mode
274   * @param candid Candidate ID from operations DB
275   * @param isdiffpos t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction
276   * @param tblid Internal pipeline table extraction ID
277   * @param nid Night ID
278   * @param rcid Readout channel ID [00 .. 63]
279   * @param field ZTF field ID
280   * @param xpos x-image position of candidate [pixels]
281   * @param ypos y-image position of candidate [pixels]
282   * @param ra Right Ascension of candidate; J2000 [deg]
283   * @param dec Declination of candidate; J2000 [deg]
284   * @param magpsf Magnitude from PSF-fit photometry [mag]
285   * @param sigmapsf 1-sigma uncertainty in magpsf [mag]
286   * @param chipsf Reduced chi-square for PSF-fit
287   * @param magap Aperture mag using 14 pixel diameter aperture [mag]
288   * @param sigmagap 1-sigma uncertainty in magap [mag]
289   * @param distnr distance to nearest source in reference image PSF-catalog [pixels]
290   * @param magnr magnitude of nearest source in reference image PSF-catalog [mag]
291   * @param sigmagnr 1-sigma uncertainty in magnr [mag]
292   * @param chinr DAOPhot chi parameter of nearest source in reference image PSF-catalog
293   * @param sharpnr DAOPhot sharp parameter of nearest source in reference image PSF-catalog
294   * @param sky Local sky background estimate [DN]
295   * @param magdiff Difference: magap - magpsf [mag]
296   * @param fwhm Full Width Half Max assuming a Gaussian core, from SExtractor [pixels]
297   * @param classtar Star/Galaxy classification score from SExtractor
298   * @param mindtoedge Distance to nearest edge in image [pixels]
299   * @param magfromlim Difference: diffmaglim - magap [mag]
300   * @param seeratio Ratio: difffwhm / fwhm
301   * @param aimage Windowed profile RMS afloat major axis from SExtractor [pixels]
302   * @param bimage Windowed profile RMS afloat minor axis from SExtractor [pixels]
303   * @param aimagerat Ratio: aimage / fwhm
304   * @param bimagerat Ratio: bimage / fwhm
305   * @param elong Ratio: aimage / bimage
306   * @param nneg number of negative pixels in a 5 x 5 pixel stamp
307   * @param nbad number of prior-tagged bad pixels in a 5 x 5 pixel stamp
308   * @param rb RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable
309   * @param ssdistnr distance to nearest known solar system object if exists within 30 arcsec [arcsec]
310   * @param ssmagnr magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag]
311   * @param ssnamenr name of nearest known solar system object if exists within 30 arcsec (from MPC archive)
312   * @param sumrat Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers
313   * @param magapbig Aperture mag using 18 pixel diameter aperture [mag]
314   * @param sigmagapbig 1-sigma uncertainty in magapbig [mag]
315   * @param ranr Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg]
316   * @param decnr Declination of nearest source in reference image PSF-catalog; J2000 [deg]
317   * @param sgmag1 g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
318   * @param srmag1 r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
319   * @param simag1 i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
320   * @param szmag1 z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
321   * @param sgscore1 Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
322   * @param distpsnr1 Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
323   * @param ndethist Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted
324   * @param ncovhist Number of times input candidate position fell on any field and readout-channel going back to beginning of survey
325   * @param jdstarthist Earliest Julian date of epoch corresponding to ndethist [days]
326   * @param jdendhist Latest Julian date of epoch corresponding to ndethist [days]
327   * @param scorr Peak-pixel signal-to-noise ratio in point source matched-filtered detection image
328   * @param tooflag 1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure
329   * @param objectidps1 Object ID of closest source from PS1 catalog; if exists within 30 arcsec
330   * @param objectidps2 Object ID of second closest source from PS1 catalog; if exists within 30 arcsec
331   * @param sgmag2 g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
332   * @param srmag2 r-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
333   * @param simag2 i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
334   * @param szmag2 z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
335   * @param sgscore2 Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
336   * @param distpsnr2 Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
337   * @param objectidps3 Object ID of third closest source from PS1 catalog; if exists within 30 arcsec
338   * @param sgmag3 g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
339   * @param srmag3 r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
340   * @param simag3 i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
341   * @param szmag3 z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
342   * @param sgscore3 Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
343   * @param distpsnr3 Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
344   * @param nmtchps Number of source matches from PS1 catalog falling within 30 arcsec
345   * @param rfid Processing ID for reference image to facilitate archive retrieval
346   * @param jdstartref Observation Julian date of earliest exposure used to generate reference image [days]
347   * @param jdendref Observation Julian date of latest exposure used to generate reference image [days]
348   * @param nframesref Number of frames (epochal images) used to generate reference image
349   * @param rbversion version of RealBogus model/classifier used to assign rb quality score
350   * @param dsnrms Ratio: D/stddev(D) on event position where D = difference image
351   * @param ssnrms Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D)
352   * @param dsdiff Difference of statistics: dsnrms - ssnrms
353   * @param magzpsci Magnitude zero point for photometry estimates [mag]
354   * @param magzpsciunc Magnitude zero point uncertainty (in magzpsci) [mag]
355   * @param magzpscirms RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
356   * @param nmatches Number of PS1 photometric calibrators used to calibrate science image from science image processing
357   * @param clrcoeff Color coefficient from linear fit from photometric calibration of science image
358   * @param clrcounc Color coefficient uncertainty from linear fit (corresponding to clrcoeff)
359   * @param zpclrcov Covariance in magzpsci and clrcoeff from science image processing [mag^2]
360   * @param zpmed Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
361   * @param clrmed Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively
362   * @param clrrms RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag]
363   * @param neargaia Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec]
364   * @param neargaiabright Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec]
365   * @param maggaia Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag]
366   * @param maggaiabright Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag]
367   * @param exptime Integration time of camera exposure [sec]
368   */
369  public candidate(java.lang.Double jd, java.lang.Integer fid, java.lang.Long pid, java.lang.Float diffmaglim, java.lang.CharSequence pdiffimfilename, java.lang.CharSequence programpi, java.lang.Integer programid, java.lang.Long candid, java.lang.CharSequence isdiffpos, java.lang.Long tblid, java.lang.Integer nid, java.lang.Integer rcid, java.lang.Integer field, java.lang.Float xpos, java.lang.Float ypos, java.lang.Double ra, java.lang.Double dec, java.lang.Float magpsf, java.lang.Float sigmapsf, java.lang.Float chipsf, java.lang.Float magap, java.lang.Float sigmagap, java.lang.Float distnr, java.lang.Float magnr, java.lang.Float sigmagnr, java.lang.Float chinr, java.lang.Float sharpnr, java.lang.Float sky, java.lang.Float magdiff, java.lang.Float fwhm, java.lang.Float classtar, java.lang.Float mindtoedge, java.lang.Float magfromlim, java.lang.Float seeratio, java.lang.Float aimage, java.lang.Float bimage, java.lang.Float aimagerat, java.lang.Float bimagerat, java.lang.Float elong, java.lang.Integer nneg, java.lang.Integer nbad, java.lang.Float rb, java.lang.Float ssdistnr, java.lang.Float ssmagnr, java.lang.CharSequence ssnamenr, java.lang.Float sumrat, java.lang.Float magapbig, java.lang.Float sigmagapbig, java.lang.Double ranr, java.lang.Double decnr, java.lang.Float sgmag1, java.lang.Float srmag1, java.lang.Float simag1, java.lang.Float szmag1, java.lang.Float sgscore1, java.lang.Float distpsnr1, java.lang.Integer ndethist, java.lang.Integer ncovhist, java.lang.Double jdstarthist, java.lang.Double jdendhist, java.lang.Double scorr, java.lang.Integer tooflag, java.lang.Long objectidps1, java.lang.Long objectidps2, java.lang.Float sgmag2, java.lang.Float srmag2, java.lang.Float simag2, java.lang.Float szmag2, java.lang.Float sgscore2, java.lang.Float distpsnr2, java.lang.Long objectidps3, java.lang.Float sgmag3, java.lang.Float srmag3, java.lang.Float simag3, java.lang.Float szmag3, java.lang.Float sgscore3, java.lang.Float distpsnr3, java.lang.Integer nmtchps, java.lang.Long rfid, java.lang.Double jdstartref, java.lang.Double jdendref, java.lang.Integer nframesref, java.lang.CharSequence rbversion, java.lang.Float dsnrms, java.lang.Float ssnrms, java.lang.Float dsdiff, java.lang.Float magzpsci, java.lang.Float magzpsciunc, java.lang.Float magzpscirms, java.lang.Integer nmatches, java.lang.Float clrcoeff, java.lang.Float clrcounc, java.lang.Float zpclrcov, java.lang.Float zpmed, java.lang.Float clrmed, java.lang.Float clrrms, java.lang.Float neargaia, java.lang.Float neargaiabright, java.lang.Float maggaia, java.lang.Float maggaiabright, java.lang.Float exptime) {
370    this.jd = jd;
371    this.fid = fid;
372    this.pid = pid;
373    this.diffmaglim = diffmaglim;
374    this.pdiffimfilename = pdiffimfilename;
375    this.programpi = programpi;
376    this.programid = programid;
377    this.candid = candid;
378    this.isdiffpos = isdiffpos;
379    this.tblid = tblid;
380    this.nid = nid;
381    this.rcid = rcid;
382    this.field = field;
383    this.xpos = xpos;
384    this.ypos = ypos;
385    this.ra = ra;
386    this.dec = dec;
387    this.magpsf = magpsf;
388    this.sigmapsf = sigmapsf;
389    this.chipsf = chipsf;
390    this.magap = magap;
391    this.sigmagap = sigmagap;
392    this.distnr = distnr;
393    this.magnr = magnr;
394    this.sigmagnr = sigmagnr;
395    this.chinr = chinr;
396    this.sharpnr = sharpnr;
397    this.sky = sky;
398    this.magdiff = magdiff;
399    this.fwhm = fwhm;
400    this.classtar = classtar;
401    this.mindtoedge = mindtoedge;
402    this.magfromlim = magfromlim;
403    this.seeratio = seeratio;
404    this.aimage = aimage;
405    this.bimage = bimage;
406    this.aimagerat = aimagerat;
407    this.bimagerat = bimagerat;
408    this.elong = elong;
409    this.nneg = nneg;
410    this.nbad = nbad;
411    this.rb = rb;
412    this.ssdistnr = ssdistnr;
413    this.ssmagnr = ssmagnr;
414    this.ssnamenr = ssnamenr;
415    this.sumrat = sumrat;
416    this.magapbig = magapbig;
417    this.sigmagapbig = sigmagapbig;
418    this.ranr = ranr;
419    this.decnr = decnr;
420    this.sgmag1 = sgmag1;
421    this.srmag1 = srmag1;
422    this.simag1 = simag1;
423    this.szmag1 = szmag1;
424    this.sgscore1 = sgscore1;
425    this.distpsnr1 = distpsnr1;
426    this.ndethist = ndethist;
427    this.ncovhist = ncovhist;
428    this.jdstarthist = jdstarthist;
429    this.jdendhist = jdendhist;
430    this.scorr = scorr;
431    this.tooflag = tooflag;
432    this.objectidps1 = objectidps1;
433    this.objectidps2 = objectidps2;
434    this.sgmag2 = sgmag2;
435    this.srmag2 = srmag2;
436    this.simag2 = simag2;
437    this.szmag2 = szmag2;
438    this.sgscore2 = sgscore2;
439    this.distpsnr2 = distpsnr2;
440    this.objectidps3 = objectidps3;
441    this.sgmag3 = sgmag3;
442    this.srmag3 = srmag3;
443    this.simag3 = simag3;
444    this.szmag3 = szmag3;
445    this.sgscore3 = sgscore3;
446    this.distpsnr3 = distpsnr3;
447    this.nmtchps = nmtchps;
448    this.rfid = rfid;
449    this.jdstartref = jdstartref;
450    this.jdendref = jdendref;
451    this.nframesref = nframesref;
452    this.rbversion = rbversion;
453    this.dsnrms = dsnrms;
454    this.ssnrms = ssnrms;
455    this.dsdiff = dsdiff;
456    this.magzpsci = magzpsci;
457    this.magzpsciunc = magzpsciunc;
458    this.magzpscirms = magzpscirms;
459    this.nmatches = nmatches;
460    this.clrcoeff = clrcoeff;
461    this.clrcounc = clrcounc;
462    this.zpclrcov = zpclrcov;
463    this.zpmed = zpmed;
464    this.clrmed = clrmed;
465    this.clrrms = clrrms;
466    this.neargaia = neargaia;
467    this.neargaiabright = neargaiabright;
468    this.maggaia = maggaia;
469    this.maggaiabright = maggaiabright;
470    this.exptime = exptime;
471  }
472
473  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
474  // Used by DatumWriter.  Applications should not call.
475  public java.lang.Object get(int field$) {
476    switch (field$) {
477    case 0: return jd;
478    case 1: return fid;
479    case 2: return pid;
480    case 3: return diffmaglim;
481    case 4: return pdiffimfilename;
482    case 5: return programpi;
483    case 6: return programid;
484    case 7: return candid;
485    case 8: return isdiffpos;
486    case 9: return tblid;
487    case 10: return nid;
488    case 11: return rcid;
489    case 12: return field;
490    case 13: return xpos;
491    case 14: return ypos;
492    case 15: return ra;
493    case 16: return dec;
494    case 17: return magpsf;
495    case 18: return sigmapsf;
496    case 19: return chipsf;
497    case 20: return magap;
498    case 21: return sigmagap;
499    case 22: return distnr;
500    case 23: return magnr;
501    case 24: return sigmagnr;
502    case 25: return chinr;
503    case 26: return sharpnr;
504    case 27: return sky;
505    case 28: return magdiff;
506    case 29: return fwhm;
507    case 30: return classtar;
508    case 31: return mindtoedge;
509    case 32: return magfromlim;
510    case 33: return seeratio;
511    case 34: return aimage;
512    case 35: return bimage;
513    case 36: return aimagerat;
514    case 37: return bimagerat;
515    case 38: return elong;
516    case 39: return nneg;
517    case 40: return nbad;
518    case 41: return rb;
519    case 42: return ssdistnr;
520    case 43: return ssmagnr;
521    case 44: return ssnamenr;
522    case 45: return sumrat;
523    case 46: return magapbig;
524    case 47: return sigmagapbig;
525    case 48: return ranr;
526    case 49: return decnr;
527    case 50: return sgmag1;
528    case 51: return srmag1;
529    case 52: return simag1;
530    case 53: return szmag1;
531    case 54: return sgscore1;
532    case 55: return distpsnr1;
533    case 56: return ndethist;
534    case 57: return ncovhist;
535    case 58: return jdstarthist;
536    case 59: return jdendhist;
537    case 60: return scorr;
538    case 61: return tooflag;
539    case 62: return objectidps1;
540    case 63: return objectidps2;
541    case 64: return sgmag2;
542    case 65: return srmag2;
543    case 66: return simag2;
544    case 67: return szmag2;
545    case 68: return sgscore2;
546    case 69: return distpsnr2;
547    case 70: return objectidps3;
548    case 71: return sgmag3;
549    case 72: return srmag3;
550    case 73: return simag3;
551    case 74: return szmag3;
552    case 75: return sgscore3;
553    case 76: return distpsnr3;
554    case 77: return nmtchps;
555    case 78: return rfid;
556    case 79: return jdstartref;
557    case 80: return jdendref;
558    case 81: return nframesref;
559    case 82: return rbversion;
560    case 83: return dsnrms;
561    case 84: return ssnrms;
562    case 85: return dsdiff;
563    case 86: return magzpsci;
564    case 87: return magzpsciunc;
565    case 88: return magzpscirms;
566    case 89: return nmatches;
567    case 90: return clrcoeff;
568    case 91: return clrcounc;
569    case 92: return zpclrcov;
570    case 93: return zpmed;
571    case 94: return clrmed;
572    case 95: return clrrms;
573    case 96: return neargaia;
574    case 97: return neargaiabright;
575    case 98: return maggaia;
576    case 99: return maggaiabright;
577    case 100: return exptime;
578    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
579    }
580  }
581
582  // Used by DatumReader.  Applications should not call.
583  @SuppressWarnings(value="unchecked")
584  public void put(int field$, java.lang.Object value$) {
585    switch (field$) {
586    case 0: jd = (java.lang.Double)value$; break;
587    case 1: fid = (java.lang.Integer)value$; break;
588    case 2: pid = (java.lang.Long)value$; break;
589    case 3: diffmaglim = (java.lang.Float)value$; break;
590    case 4: pdiffimfilename = (java.lang.CharSequence)value$; break;
591    case 5: programpi = (java.lang.CharSequence)value$; break;
592    case 6: programid = (java.lang.Integer)value$; break;
593    case 7: candid = (java.lang.Long)value$; break;
594    case 8: isdiffpos = (java.lang.CharSequence)value$; break;
595    case 9: tblid = (java.lang.Long)value$; break;
596    case 10: nid = (java.lang.Integer)value$; break;
597    case 11: rcid = (java.lang.Integer)value$; break;
598    case 12: field = (java.lang.Integer)value$; break;
599    case 13: xpos = (java.lang.Float)value$; break;
600    case 14: ypos = (java.lang.Float)value$; break;
601    case 15: ra = (java.lang.Double)value$; break;
602    case 16: dec = (java.lang.Double)value$; break;
603    case 17: magpsf = (java.lang.Float)value$; break;
604    case 18: sigmapsf = (java.lang.Float)value$; break;
605    case 19: chipsf = (java.lang.Float)value$; break;
606    case 20: magap = (java.lang.Float)value$; break;
607    case 21: sigmagap = (java.lang.Float)value$; break;
608    case 22: distnr = (java.lang.Float)value$; break;
609    case 23: magnr = (java.lang.Float)value$; break;
610    case 24: sigmagnr = (java.lang.Float)value$; break;
611    case 25: chinr = (java.lang.Float)value$; break;
612    case 26: sharpnr = (java.lang.Float)value$; break;
613    case 27: sky = (java.lang.Float)value$; break;
614    case 28: magdiff = (java.lang.Float)value$; break;
615    case 29: fwhm = (java.lang.Float)value$; break;
616    case 30: classtar = (java.lang.Float)value$; break;
617    case 31: mindtoedge = (java.lang.Float)value$; break;
618    case 32: magfromlim = (java.lang.Float)value$; break;
619    case 33: seeratio = (java.lang.Float)value$; break;
620    case 34: aimage = (java.lang.Float)value$; break;
621    case 35: bimage = (java.lang.Float)value$; break;
622    case 36: aimagerat = (java.lang.Float)value$; break;
623    case 37: bimagerat = (java.lang.Float)value$; break;
624    case 38: elong = (java.lang.Float)value$; break;
625    case 39: nneg = (java.lang.Integer)value$; break;
626    case 40: nbad = (java.lang.Integer)value$; break;
627    case 41: rb = (java.lang.Float)value$; break;
628    case 42: ssdistnr = (java.lang.Float)value$; break;
629    case 43: ssmagnr = (java.lang.Float)value$; break;
630    case 44: ssnamenr = (java.lang.CharSequence)value$; break;
631    case 45: sumrat = (java.lang.Float)value$; break;
632    case 46: magapbig = (java.lang.Float)value$; break;
633    case 47: sigmagapbig = (java.lang.Float)value$; break;
634    case 48: ranr = (java.lang.Double)value$; break;
635    case 49: decnr = (java.lang.Double)value$; break;
636    case 50: sgmag1 = (java.lang.Float)value$; break;
637    case 51: srmag1 = (java.lang.Float)value$; break;
638    case 52: simag1 = (java.lang.Float)value$; break;
639    case 53: szmag1 = (java.lang.Float)value$; break;
640    case 54: sgscore1 = (java.lang.Float)value$; break;
641    case 55: distpsnr1 = (java.lang.Float)value$; break;
642    case 56: ndethist = (java.lang.Integer)value$; break;
643    case 57: ncovhist = (java.lang.Integer)value$; break;
644    case 58: jdstarthist = (java.lang.Double)value$; break;
645    case 59: jdendhist = (java.lang.Double)value$; break;
646    case 60: scorr = (java.lang.Double)value$; break;
647    case 61: tooflag = (java.lang.Integer)value$; break;
648    case 62: objectidps1 = (java.lang.Long)value$; break;
649    case 63: objectidps2 = (java.lang.Long)value$; break;
650    case 64: sgmag2 = (java.lang.Float)value$; break;
651    case 65: srmag2 = (java.lang.Float)value$; break;
652    case 66: simag2 = (java.lang.Float)value$; break;
653    case 67: szmag2 = (java.lang.Float)value$; break;
654    case 68: sgscore2 = (java.lang.Float)value$; break;
655    case 69: distpsnr2 = (java.lang.Float)value$; break;
656    case 70: objectidps3 = (java.lang.Long)value$; break;
657    case 71: sgmag3 = (java.lang.Float)value$; break;
658    case 72: srmag3 = (java.lang.Float)value$; break;
659    case 73: simag3 = (java.lang.Float)value$; break;
660    case 74: szmag3 = (java.lang.Float)value$; break;
661    case 75: sgscore3 = (java.lang.Float)value$; break;
662    case 76: distpsnr3 = (java.lang.Float)value$; break;
663    case 77: nmtchps = (java.lang.Integer)value$; break;
664    case 78: rfid = (java.lang.Long)value$; break;
665    case 79: jdstartref = (java.lang.Double)value$; break;
666    case 80: jdendref = (java.lang.Double)value$; break;
667    case 81: nframesref = (java.lang.Integer)value$; break;
668    case 82: rbversion = (java.lang.CharSequence)value$; break;
669    case 83: dsnrms = (java.lang.Float)value$; break;
670    case 84: ssnrms = (java.lang.Float)value$; break;
671    case 85: dsdiff = (java.lang.Float)value$; break;
672    case 86: magzpsci = (java.lang.Float)value$; break;
673    case 87: magzpsciunc = (java.lang.Float)value$; break;
674    case 88: magzpscirms = (java.lang.Float)value$; break;
675    case 89: nmatches = (java.lang.Integer)value$; break;
676    case 90: clrcoeff = (java.lang.Float)value$; break;
677    case 91: clrcounc = (java.lang.Float)value$; break;
678    case 92: zpclrcov = (java.lang.Float)value$; break;
679    case 93: zpmed = (java.lang.Float)value$; break;
680    case 94: clrmed = (java.lang.Float)value$; break;
681    case 95: clrrms = (java.lang.Float)value$; break;
682    case 96: neargaia = (java.lang.Float)value$; break;
683    case 97: neargaiabright = (java.lang.Float)value$; break;
684    case 98: maggaia = (java.lang.Float)value$; break;
685    case 99: maggaiabright = (java.lang.Float)value$; break;
686    case 100: exptime = (java.lang.Float)value$; break;
687    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
688    }
689  }
690
691  /**
692   * Gets the value of the 'jd' field.
693   * @return Observation Julian date at start of exposure [days]
694   */
695  public java.lang.Double getJd() {
696    return jd;
697  }
698
699  /**
700   * Sets the value of the 'jd' field.
701   * Observation Julian date at start of exposure [days]
702   * @param value the value to set.
703   */
704  public void setJd(java.lang.Double value) {
705    this.jd = value;
706  }
707
708  /**
709   * Gets the value of the 'fid' field.
710   * @return Filter ID (1=g; 2=R; 3=i)
711   */
712  public java.lang.Integer getFid() {
713    return fid;
714  }
715
716  /**
717   * Sets the value of the 'fid' field.
718   * Filter ID (1=g; 2=R; 3=i)
719   * @param value the value to set.
720   */
721  public void setFid(java.lang.Integer value) {
722    this.fid = value;
723  }
724
725  /**
726   * Gets the value of the 'pid' field.
727   * @return Processing ID for science image to facilitate archive retrieval
728   */
729  public java.lang.Long getPid() {
730    return pid;
731  }
732
733  /**
734   * Sets the value of the 'pid' field.
735   * Processing ID for science image to facilitate archive retrieval
736   * @param value the value to set.
737   */
738  public void setPid(java.lang.Long value) {
739    this.pid = value;
740  }
741
742  /**
743   * Gets the value of the 'diffmaglim' field.
744   * @return Expected 5-sigma mag limit in difference image based on global noise estimate [mag]
745   */
746  public java.lang.Float getDiffmaglim() {
747    return diffmaglim;
748  }
749
750  /**
751   * Sets the value of the 'diffmaglim' field.
752   * Expected 5-sigma mag limit in difference image based on global noise estimate [mag]
753   * @param value the value to set.
754   */
755  public void setDiffmaglim(java.lang.Float value) {
756    this.diffmaglim = value;
757  }
758
759  /**
760   * Gets the value of the 'pdiffimfilename' field.
761   * @return filename of positive (sci minus ref) difference image
762   */
763  public java.lang.CharSequence getPdiffimfilename() {
764    return pdiffimfilename;
765  }
766
767  /**
768   * Sets the value of the 'pdiffimfilename' field.
769   * filename of positive (sci minus ref) difference image
770   * @param value the value to set.
771   */
772  public void setPdiffimfilename(java.lang.CharSequence value) {
773    this.pdiffimfilename = value;
774  }
775
776  /**
777   * Gets the value of the 'programpi' field.
778   * @return Principal investigator attached to program ID
779   */
780  public java.lang.CharSequence getProgrampi() {
781    return programpi;
782  }
783
784  /**
785   * Sets the value of the 'programpi' field.
786   * Principal investigator attached to program ID
787   * @param value the value to set.
788   */
789  public void setProgrampi(java.lang.CharSequence value) {
790    this.programpi = value;
791  }
792
793  /**
794   * Gets the value of the 'programid' field.
795   * @return Program ID: encodes either public, collab, or caltech mode
796   */
797  public java.lang.Integer getProgramid() {
798    return programid;
799  }
800
801  /**
802   * Sets the value of the 'programid' field.
803   * Program ID: encodes either public, collab, or caltech mode
804   * @param value the value to set.
805   */
806  public void setProgramid(java.lang.Integer value) {
807    this.programid = value;
808  }
809
810  /**
811   * Gets the value of the 'candid' field.
812   * @return Candidate ID from operations DB
813   */
814  public java.lang.Long getCandid() {
815    return candid;
816  }
817
818  /**
819   * Sets the value of the 'candid' field.
820   * Candidate ID from operations DB
821   * @param value the value to set.
822   */
823  public void setCandid(java.lang.Long value) {
824    this.candid = value;
825  }
826
827  /**
828   * Gets the value of the 'isdiffpos' field.
829   * @return t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction
830   */
831  public java.lang.CharSequence getIsdiffpos() {
832    return isdiffpos;
833  }
834
835  /**
836   * Sets the value of the 'isdiffpos' field.
837   * t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction
838   * @param value the value to set.
839   */
840  public void setIsdiffpos(java.lang.CharSequence value) {
841    this.isdiffpos = value;
842  }
843
844  /**
845   * Gets the value of the 'tblid' field.
846   * @return Internal pipeline table extraction ID
847   */
848  public java.lang.Long getTblid() {
849    return tblid;
850  }
851
852  /**
853   * Sets the value of the 'tblid' field.
854   * Internal pipeline table extraction ID
855   * @param value the value to set.
856   */
857  public void setTblid(java.lang.Long value) {
858    this.tblid = value;
859  }
860
861  /**
862   * Gets the value of the 'nid' field.
863   * @return Night ID
864   */
865  public java.lang.Integer getNid() {
866    return nid;
867  }
868
869  /**
870   * Sets the value of the 'nid' field.
871   * Night ID
872   * @param value the value to set.
873   */
874  public void setNid(java.lang.Integer value) {
875    this.nid = value;
876  }
877
878  /**
879   * Gets the value of the 'rcid' field.
880   * @return Readout channel ID [00 .. 63]
881   */
882  public java.lang.Integer getRcid() {
883    return rcid;
884  }
885
886  /**
887   * Sets the value of the 'rcid' field.
888   * Readout channel ID [00 .. 63]
889   * @param value the value to set.
890   */
891  public void setRcid(java.lang.Integer value) {
892    this.rcid = value;
893  }
894
895  /**
896   * Gets the value of the 'field' field.
897   * @return ZTF field ID
898   */
899  public java.lang.Integer getField() {
900    return field;
901  }
902
903  /**
904   * Sets the value of the 'field' field.
905   * ZTF field ID
906   * @param value the value to set.
907   */
908  public void setField(java.lang.Integer value) {
909    this.field = value;
910  }
911
912  /**
913   * Gets the value of the 'xpos' field.
914   * @return x-image position of candidate [pixels]
915   */
916  public java.lang.Float getXpos() {
917    return xpos;
918  }
919
920  /**
921   * Sets the value of the 'xpos' field.
922   * x-image position of candidate [pixels]
923   * @param value the value to set.
924   */
925  public void setXpos(java.lang.Float value) {
926    this.xpos = value;
927  }
928
929  /**
930   * Gets the value of the 'ypos' field.
931   * @return y-image position of candidate [pixels]
932   */
933  public java.lang.Float getYpos() {
934    return ypos;
935  }
936
937  /**
938   * Sets the value of the 'ypos' field.
939   * y-image position of candidate [pixels]
940   * @param value the value to set.
941   */
942  public void setYpos(java.lang.Float value) {
943    this.ypos = value;
944  }
945
946  /**
947   * Gets the value of the 'ra' field.
948   * @return Right Ascension of candidate; J2000 [deg]
949   */
950  public java.lang.Double getRa() {
951    return ra;
952  }
953
954  /**
955   * Sets the value of the 'ra' field.
956   * Right Ascension of candidate; J2000 [deg]
957   * @param value the value to set.
958   */
959  public void setRa(java.lang.Double value) {
960    this.ra = value;
961  }
962
963  /**
964   * Gets the value of the 'dec' field.
965   * @return Declination of candidate; J2000 [deg]
966   */
967  public java.lang.Double getDec() {
968    return dec;
969  }
970
971  /**
972   * Sets the value of the 'dec' field.
973   * Declination of candidate; J2000 [deg]
974   * @param value the value to set.
975   */
976  public void setDec(java.lang.Double value) {
977    this.dec = value;
978  }
979
980  /**
981   * Gets the value of the 'magpsf' field.
982   * @return Magnitude from PSF-fit photometry [mag]
983   */
984  public java.lang.Float getMagpsf() {
985    return magpsf;
986  }
987
988  /**
989   * Sets the value of the 'magpsf' field.
990   * Magnitude from PSF-fit photometry [mag]
991   * @param value the value to set.
992   */
993  public void setMagpsf(java.lang.Float value) {
994    this.magpsf = value;
995  }
996
997  /**
998   * Gets the value of the 'sigmapsf' field.
999   * @return 1-sigma uncertainty in magpsf [mag]
1000   */
1001  public java.lang.Float getSigmapsf() {
1002    return sigmapsf;
1003  }
1004
1005  /**
1006   * Sets the value of the 'sigmapsf' field.
1007   * 1-sigma uncertainty in magpsf [mag]
1008   * @param value the value to set.
1009   */
1010  public void setSigmapsf(java.lang.Float value) {
1011    this.sigmapsf = value;
1012  }
1013
1014  /**
1015   * Gets the value of the 'chipsf' field.
1016   * @return Reduced chi-square for PSF-fit
1017   */
1018  public java.lang.Float getChipsf() {
1019    return chipsf;
1020  }
1021
1022  /**
1023   * Sets the value of the 'chipsf' field.
1024   * Reduced chi-square for PSF-fit
1025   * @param value the value to set.
1026   */
1027  public void setChipsf(java.lang.Float value) {
1028    this.chipsf = value;
1029  }
1030
1031  /**
1032   * Gets the value of the 'magap' field.
1033   * @return Aperture mag using 14 pixel diameter aperture [mag]
1034   */
1035  public java.lang.Float getMagap() {
1036    return magap;
1037  }
1038
1039  /**
1040   * Sets the value of the 'magap' field.
1041   * Aperture mag using 14 pixel diameter aperture [mag]
1042   * @param value the value to set.
1043   */
1044  public void setMagap(java.lang.Float value) {
1045    this.magap = value;
1046  }
1047
1048  /**
1049   * Gets the value of the 'sigmagap' field.
1050   * @return 1-sigma uncertainty in magap [mag]
1051   */
1052  public java.lang.Float getSigmagap() {
1053    return sigmagap;
1054  }
1055
1056  /**
1057   * Sets the value of the 'sigmagap' field.
1058   * 1-sigma uncertainty in magap [mag]
1059   * @param value the value to set.
1060   */
1061  public void setSigmagap(java.lang.Float value) {
1062    this.sigmagap = value;
1063  }
1064
1065  /**
1066   * Gets the value of the 'distnr' field.
1067   * @return distance to nearest source in reference image PSF-catalog [pixels]
1068   */
1069  public java.lang.Float getDistnr() {
1070    return distnr;
1071  }
1072
1073  /**
1074   * Sets the value of the 'distnr' field.
1075   * distance to nearest source in reference image PSF-catalog [pixels]
1076   * @param value the value to set.
1077   */
1078  public void setDistnr(java.lang.Float value) {
1079    this.distnr = value;
1080  }
1081
1082  /**
1083   * Gets the value of the 'magnr' field.
1084   * @return magnitude of nearest source in reference image PSF-catalog [mag]
1085   */
1086  public java.lang.Float getMagnr() {
1087    return magnr;
1088  }
1089
1090  /**
1091   * Sets the value of the 'magnr' field.
1092   * magnitude of nearest source in reference image PSF-catalog [mag]
1093   * @param value the value to set.
1094   */
1095  public void setMagnr(java.lang.Float value) {
1096    this.magnr = value;
1097  }
1098
1099  /**
1100   * Gets the value of the 'sigmagnr' field.
1101   * @return 1-sigma uncertainty in magnr [mag]
1102   */
1103  public java.lang.Float getSigmagnr() {
1104    return sigmagnr;
1105  }
1106
1107  /**
1108   * Sets the value of the 'sigmagnr' field.
1109   * 1-sigma uncertainty in magnr [mag]
1110   * @param value the value to set.
1111   */
1112  public void setSigmagnr(java.lang.Float value) {
1113    this.sigmagnr = value;
1114  }
1115
1116  /**
1117   * Gets the value of the 'chinr' field.
1118   * @return DAOPhot chi parameter of nearest source in reference image PSF-catalog
1119   */
1120  public java.lang.Float getChinr() {
1121    return chinr;
1122  }
1123
1124  /**
1125   * Sets the value of the 'chinr' field.
1126   * DAOPhot chi parameter of nearest source in reference image PSF-catalog
1127   * @param value the value to set.
1128   */
1129  public void setChinr(java.lang.Float value) {
1130    this.chinr = value;
1131  }
1132
1133  /**
1134   * Gets the value of the 'sharpnr' field.
1135   * @return DAOPhot sharp parameter of nearest source in reference image PSF-catalog
1136   */
1137  public java.lang.Float getSharpnr() {
1138    return sharpnr;
1139  }
1140
1141  /**
1142   * Sets the value of the 'sharpnr' field.
1143   * DAOPhot sharp parameter of nearest source in reference image PSF-catalog
1144   * @param value the value to set.
1145   */
1146  public void setSharpnr(java.lang.Float value) {
1147    this.sharpnr = value;
1148  }
1149
1150  /**
1151   * Gets the value of the 'sky' field.
1152   * @return Local sky background estimate [DN]
1153   */
1154  public java.lang.Float getSky() {
1155    return sky;
1156  }
1157
1158  /**
1159   * Sets the value of the 'sky' field.
1160   * Local sky background estimate [DN]
1161   * @param value the value to set.
1162   */
1163  public void setSky(java.lang.Float value) {
1164    this.sky = value;
1165  }
1166
1167  /**
1168   * Gets the value of the 'magdiff' field.
1169   * @return Difference: magap - magpsf [mag]
1170   */
1171  public java.lang.Float getMagdiff() {
1172    return magdiff;
1173  }
1174
1175  /**
1176   * Sets the value of the 'magdiff' field.
1177   * Difference: magap - magpsf [mag]
1178   * @param value the value to set.
1179   */
1180  public void setMagdiff(java.lang.Float value) {
1181    this.magdiff = value;
1182  }
1183
1184  /**
1185   * Gets the value of the 'fwhm' field.
1186   * @return Full Width Half Max assuming a Gaussian core, from SExtractor [pixels]
1187   */
1188  public java.lang.Float getFwhm() {
1189    return fwhm;
1190  }
1191
1192  /**
1193   * Sets the value of the 'fwhm' field.
1194   * Full Width Half Max assuming a Gaussian core, from SExtractor [pixels]
1195   * @param value the value to set.
1196   */
1197  public void setFwhm(java.lang.Float value) {
1198    this.fwhm = value;
1199  }
1200
1201  /**
1202   * Gets the value of the 'classtar' field.
1203   * @return Star/Galaxy classification score from SExtractor
1204   */
1205  public java.lang.Float getClasstar() {
1206    return classtar;
1207  }
1208
1209  /**
1210   * Sets the value of the 'classtar' field.
1211   * Star/Galaxy classification score from SExtractor
1212   * @param value the value to set.
1213   */
1214  public void setClasstar(java.lang.Float value) {
1215    this.classtar = value;
1216  }
1217
1218  /**
1219   * Gets the value of the 'mindtoedge' field.
1220   * @return Distance to nearest edge in image [pixels]
1221   */
1222  public java.lang.Float getMindtoedge() {
1223    return mindtoedge;
1224  }
1225
1226  /**
1227   * Sets the value of the 'mindtoedge' field.
1228   * Distance to nearest edge in image [pixels]
1229   * @param value the value to set.
1230   */
1231  public void setMindtoedge(java.lang.Float value) {
1232    this.mindtoedge = value;
1233  }
1234
1235  /**
1236   * Gets the value of the 'magfromlim' field.
1237   * @return Difference: diffmaglim - magap [mag]
1238   */
1239  public java.lang.Float getMagfromlim() {
1240    return magfromlim;
1241  }
1242
1243  /**
1244   * Sets the value of the 'magfromlim' field.
1245   * Difference: diffmaglim - magap [mag]
1246   * @param value the value to set.
1247   */
1248  public void setMagfromlim(java.lang.Float value) {
1249    this.magfromlim = value;
1250  }
1251
1252  /**
1253   * Gets the value of the 'seeratio' field.
1254   * @return Ratio: difffwhm / fwhm
1255   */
1256  public java.lang.Float getSeeratio() {
1257    return seeratio;
1258  }
1259
1260  /**
1261   * Sets the value of the 'seeratio' field.
1262   * Ratio: difffwhm / fwhm
1263   * @param value the value to set.
1264   */
1265  public void setSeeratio(java.lang.Float value) {
1266    this.seeratio = value;
1267  }
1268
1269  /**
1270   * Gets the value of the 'aimage' field.
1271   * @return Windowed profile RMS afloat major axis from SExtractor [pixels]
1272   */
1273  public java.lang.Float getAimage() {
1274    return aimage;
1275  }
1276
1277  /**
1278   * Sets the value of the 'aimage' field.
1279   * Windowed profile RMS afloat major axis from SExtractor [pixels]
1280   * @param value the value to set.
1281   */
1282  public void setAimage(java.lang.Float value) {
1283    this.aimage = value;
1284  }
1285
1286  /**
1287   * Gets the value of the 'bimage' field.
1288   * @return Windowed profile RMS afloat minor axis from SExtractor [pixels]
1289   */
1290  public java.lang.Float getBimage() {
1291    return bimage;
1292  }
1293
1294  /**
1295   * Sets the value of the 'bimage' field.
1296   * Windowed profile RMS afloat minor axis from SExtractor [pixels]
1297   * @param value the value to set.
1298   */
1299  public void setBimage(java.lang.Float value) {
1300    this.bimage = value;
1301  }
1302
1303  /**
1304   * Gets the value of the 'aimagerat' field.
1305   * @return Ratio: aimage / fwhm
1306   */
1307  public java.lang.Float getAimagerat() {
1308    return aimagerat;
1309  }
1310
1311  /**
1312   * Sets the value of the 'aimagerat' field.
1313   * Ratio: aimage / fwhm
1314   * @param value the value to set.
1315   */
1316  public void setAimagerat(java.lang.Float value) {
1317    this.aimagerat = value;
1318  }
1319
1320  /**
1321   * Gets the value of the 'bimagerat' field.
1322   * @return Ratio: bimage / fwhm
1323   */
1324  public java.lang.Float getBimagerat() {
1325    return bimagerat;
1326  }
1327
1328  /**
1329   * Sets the value of the 'bimagerat' field.
1330   * Ratio: bimage / fwhm
1331   * @param value the value to set.
1332   */
1333  public void setBimagerat(java.lang.Float value) {
1334    this.bimagerat = value;
1335  }
1336
1337  /**
1338   * Gets the value of the 'elong' field.
1339   * @return Ratio: aimage / bimage
1340   */
1341  public java.lang.Float getElong() {
1342    return elong;
1343  }
1344
1345  /**
1346   * Sets the value of the 'elong' field.
1347   * Ratio: aimage / bimage
1348   * @param value the value to set.
1349   */
1350  public void setElong(java.lang.Float value) {
1351    this.elong = value;
1352  }
1353
1354  /**
1355   * Gets the value of the 'nneg' field.
1356   * @return number of negative pixels in a 5 x 5 pixel stamp
1357   */
1358  public java.lang.Integer getNneg() {
1359    return nneg;
1360  }
1361
1362  /**
1363   * Sets the value of the 'nneg' field.
1364   * number of negative pixels in a 5 x 5 pixel stamp
1365   * @param value the value to set.
1366   */
1367  public void setNneg(java.lang.Integer value) {
1368    this.nneg = value;
1369  }
1370
1371  /**
1372   * Gets the value of the 'nbad' field.
1373   * @return number of prior-tagged bad pixels in a 5 x 5 pixel stamp
1374   */
1375  public java.lang.Integer getNbad() {
1376    return nbad;
1377  }
1378
1379  /**
1380   * Sets the value of the 'nbad' field.
1381   * number of prior-tagged bad pixels in a 5 x 5 pixel stamp
1382   * @param value the value to set.
1383   */
1384  public void setNbad(java.lang.Integer value) {
1385    this.nbad = value;
1386  }
1387
1388  /**
1389   * Gets the value of the 'rb' field.
1390   * @return RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable
1391   */
1392  public java.lang.Float getRb() {
1393    return rb;
1394  }
1395
1396  /**
1397   * Sets the value of the 'rb' field.
1398   * RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable
1399   * @param value the value to set.
1400   */
1401  public void setRb(java.lang.Float value) {
1402    this.rb = value;
1403  }
1404
1405  /**
1406   * Gets the value of the 'ssdistnr' field.
1407   * @return distance to nearest known solar system object if exists within 30 arcsec [arcsec]
1408   */
1409  public java.lang.Float getSsdistnr() {
1410    return ssdistnr;
1411  }
1412
1413  /**
1414   * Sets the value of the 'ssdistnr' field.
1415   * distance to nearest known solar system object if exists within 30 arcsec [arcsec]
1416   * @param value the value to set.
1417   */
1418  public void setSsdistnr(java.lang.Float value) {
1419    this.ssdistnr = value;
1420  }
1421
1422  /**
1423   * Gets the value of the 'ssmagnr' field.
1424   * @return magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag]
1425   */
1426  public java.lang.Float getSsmagnr() {
1427    return ssmagnr;
1428  }
1429
1430  /**
1431   * Sets the value of the 'ssmagnr' field.
1432   * magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag]
1433   * @param value the value to set.
1434   */
1435  public void setSsmagnr(java.lang.Float value) {
1436    this.ssmagnr = value;
1437  }
1438
1439  /**
1440   * Gets the value of the 'ssnamenr' field.
1441   * @return name of nearest known solar system object if exists within 30 arcsec (from MPC archive)
1442   */
1443  public java.lang.CharSequence getSsnamenr() {
1444    return ssnamenr;
1445  }
1446
1447  /**
1448   * Sets the value of the 'ssnamenr' field.
1449   * name of nearest known solar system object if exists within 30 arcsec (from MPC archive)
1450   * @param value the value to set.
1451   */
1452  public void setSsnamenr(java.lang.CharSequence value) {
1453    this.ssnamenr = value;
1454  }
1455
1456  /**
1457   * Gets the value of the 'sumrat' field.
1458   * @return Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers
1459   */
1460  public java.lang.Float getSumrat() {
1461    return sumrat;
1462  }
1463
1464  /**
1465   * Sets the value of the 'sumrat' field.
1466   * Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers
1467   * @param value the value to set.
1468   */
1469  public void setSumrat(java.lang.Float value) {
1470    this.sumrat = value;
1471  }
1472
1473  /**
1474   * Gets the value of the 'magapbig' field.
1475   * @return Aperture mag using 18 pixel diameter aperture [mag]
1476   */
1477  public java.lang.Float getMagapbig() {
1478    return magapbig;
1479  }
1480
1481  /**
1482   * Sets the value of the 'magapbig' field.
1483   * Aperture mag using 18 pixel diameter aperture [mag]
1484   * @param value the value to set.
1485   */
1486  public void setMagapbig(java.lang.Float value) {
1487    this.magapbig = value;
1488  }
1489
1490  /**
1491   * Gets the value of the 'sigmagapbig' field.
1492   * @return 1-sigma uncertainty in magapbig [mag]
1493   */
1494  public java.lang.Float getSigmagapbig() {
1495    return sigmagapbig;
1496  }
1497
1498  /**
1499   * Sets the value of the 'sigmagapbig' field.
1500   * 1-sigma uncertainty in magapbig [mag]
1501   * @param value the value to set.
1502   */
1503  public void setSigmagapbig(java.lang.Float value) {
1504    this.sigmagapbig = value;
1505  }
1506
1507  /**
1508   * Gets the value of the 'ranr' field.
1509   * @return Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg]
1510   */
1511  public java.lang.Double getRanr() {
1512    return ranr;
1513  }
1514
1515  /**
1516   * Sets the value of the 'ranr' field.
1517   * Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg]
1518   * @param value the value to set.
1519   */
1520  public void setRanr(java.lang.Double value) {
1521    this.ranr = value;
1522  }
1523
1524  /**
1525   * Gets the value of the 'decnr' field.
1526   * @return Declination of nearest source in reference image PSF-catalog; J2000 [deg]
1527   */
1528  public java.lang.Double getDecnr() {
1529    return decnr;
1530  }
1531
1532  /**
1533   * Sets the value of the 'decnr' field.
1534   * Declination of nearest source in reference image PSF-catalog; J2000 [deg]
1535   * @param value the value to set.
1536   */
1537  public void setDecnr(java.lang.Double value) {
1538    this.decnr = value;
1539  }
1540
1541  /**
1542   * Gets the value of the 'sgmag1' field.
1543   * @return g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
1544   */
1545  public java.lang.Float getSgmag1() {
1546    return sgmag1;
1547  }
1548
1549  /**
1550   * Sets the value of the 'sgmag1' field.
1551   * g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
1552   * @param value the value to set.
1553   */
1554  public void setSgmag1(java.lang.Float value) {
1555    this.sgmag1 = value;
1556  }
1557
1558  /**
1559   * Gets the value of the 'srmag1' field.
1560   * @return r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
1561   */
1562  public java.lang.Float getSrmag1() {
1563    return srmag1;
1564  }
1565
1566  /**
1567   * Sets the value of the 'srmag1' field.
1568   * r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
1569   * @param value the value to set.
1570   */
1571  public void setSrmag1(java.lang.Float value) {
1572    this.srmag1 = value;
1573  }
1574
1575  /**
1576   * Gets the value of the 'simag1' field.
1577   * @return i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
1578   */
1579  public java.lang.Float getSimag1() {
1580    return simag1;
1581  }
1582
1583  /**
1584   * Sets the value of the 'simag1' field.
1585   * i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
1586   * @param value the value to set.
1587   */
1588  public void setSimag1(java.lang.Float value) {
1589    this.simag1 = value;
1590  }
1591
1592  /**
1593   * Gets the value of the 'szmag1' field.
1594   * @return z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
1595   */
1596  public java.lang.Float getSzmag1() {
1597    return szmag1;
1598  }
1599
1600  /**
1601   * Sets the value of the 'szmag1' field.
1602   * z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
1603   * @param value the value to set.
1604   */
1605  public void setSzmag1(java.lang.Float value) {
1606    this.szmag1 = value;
1607  }
1608
1609  /**
1610   * Gets the value of the 'sgscore1' field.
1611   * @return Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
1612   */
1613  public java.lang.Float getSgscore1() {
1614    return sgscore1;
1615  }
1616
1617  /**
1618   * Sets the value of the 'sgscore1' field.
1619   * Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
1620   * @param value the value to set.
1621   */
1622  public void setSgscore1(java.lang.Float value) {
1623    this.sgscore1 = value;
1624  }
1625
1626  /**
1627   * Gets the value of the 'distpsnr1' field.
1628   * @return Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
1629   */
1630  public java.lang.Float getDistpsnr1() {
1631    return distpsnr1;
1632  }
1633
1634  /**
1635   * Sets the value of the 'distpsnr1' field.
1636   * Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
1637   * @param value the value to set.
1638   */
1639  public void setDistpsnr1(java.lang.Float value) {
1640    this.distpsnr1 = value;
1641  }
1642
1643  /**
1644   * Gets the value of the 'ndethist' field.
1645   * @return Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted
1646   */
1647  public java.lang.Integer getNdethist() {
1648    return ndethist;
1649  }
1650
1651  /**
1652   * Sets the value of the 'ndethist' field.
1653   * Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted
1654   * @param value the value to set.
1655   */
1656  public void setNdethist(java.lang.Integer value) {
1657    this.ndethist = value;
1658  }
1659
1660  /**
1661   * Gets the value of the 'ncovhist' field.
1662   * @return Number of times input candidate position fell on any field and readout-channel going back to beginning of survey
1663   */
1664  public java.lang.Integer getNcovhist() {
1665    return ncovhist;
1666  }
1667
1668  /**
1669   * Sets the value of the 'ncovhist' field.
1670   * Number of times input candidate position fell on any field and readout-channel going back to beginning of survey
1671   * @param value the value to set.
1672   */
1673  public void setNcovhist(java.lang.Integer value) {
1674    this.ncovhist = value;
1675  }
1676
1677  /**
1678   * Gets the value of the 'jdstarthist' field.
1679   * @return Earliest Julian date of epoch corresponding to ndethist [days]
1680   */
1681  public java.lang.Double getJdstarthist() {
1682    return jdstarthist;
1683  }
1684
1685  /**
1686   * Sets the value of the 'jdstarthist' field.
1687   * Earliest Julian date of epoch corresponding to ndethist [days]
1688   * @param value the value to set.
1689   */
1690  public void setJdstarthist(java.lang.Double value) {
1691    this.jdstarthist = value;
1692  }
1693
1694  /**
1695   * Gets the value of the 'jdendhist' field.
1696   * @return Latest Julian date of epoch corresponding to ndethist [days]
1697   */
1698  public java.lang.Double getJdendhist() {
1699    return jdendhist;
1700  }
1701
1702  /**
1703   * Sets the value of the 'jdendhist' field.
1704   * Latest Julian date of epoch corresponding to ndethist [days]
1705   * @param value the value to set.
1706   */
1707  public void setJdendhist(java.lang.Double value) {
1708    this.jdendhist = value;
1709  }
1710
1711  /**
1712   * Gets the value of the 'scorr' field.
1713   * @return Peak-pixel signal-to-noise ratio in point source matched-filtered detection image
1714   */
1715  public java.lang.Double getScorr() {
1716    return scorr;
1717  }
1718
1719  /**
1720   * Sets the value of the 'scorr' field.
1721   * Peak-pixel signal-to-noise ratio in point source matched-filtered detection image
1722   * @param value the value to set.
1723   */
1724  public void setScorr(java.lang.Double value) {
1725    this.scorr = value;
1726  }
1727
1728  /**
1729   * Gets the value of the 'tooflag' field.
1730   * @return 1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure
1731   */
1732  public java.lang.Integer getTooflag() {
1733    return tooflag;
1734  }
1735
1736  /**
1737   * Sets the value of the 'tooflag' field.
1738   * 1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure
1739   * @param value the value to set.
1740   */
1741  public void setTooflag(java.lang.Integer value) {
1742    this.tooflag = value;
1743  }
1744
1745  /**
1746   * Gets the value of the 'objectidps1' field.
1747   * @return Object ID of closest source from PS1 catalog; if exists within 30 arcsec
1748   */
1749  public java.lang.Long getObjectidps1() {
1750    return objectidps1;
1751  }
1752
1753  /**
1754   * Sets the value of the 'objectidps1' field.
1755   * Object ID of closest source from PS1 catalog; if exists within 30 arcsec
1756   * @param value the value to set.
1757   */
1758  public void setObjectidps1(java.lang.Long value) {
1759    this.objectidps1 = value;
1760  }
1761
1762  /**
1763   * Gets the value of the 'objectidps2' field.
1764   * @return Object ID of second closest source from PS1 catalog; if exists within 30 arcsec
1765   */
1766  public java.lang.Long getObjectidps2() {
1767    return objectidps2;
1768  }
1769
1770  /**
1771   * Sets the value of the 'objectidps2' field.
1772   * Object ID of second closest source from PS1 catalog; if exists within 30 arcsec
1773   * @param value the value to set.
1774   */
1775  public void setObjectidps2(java.lang.Long value) {
1776    this.objectidps2 = value;
1777  }
1778
1779  /**
1780   * Gets the value of the 'sgmag2' field.
1781   * @return g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
1782   */
1783  public java.lang.Float getSgmag2() {
1784    return sgmag2;
1785  }
1786
1787  /**
1788   * Sets the value of the 'sgmag2' field.
1789   * g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
1790   * @param value the value to set.
1791   */
1792  public void setSgmag2(java.lang.Float value) {
1793    this.sgmag2 = value;
1794  }
1795
1796  /**
1797   * Gets the value of the 'srmag2' field.
1798   * @return r-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
1799   */
1800  public java.lang.Float getSrmag2() {
1801    return srmag2;
1802  }
1803
1804  /**
1805   * Sets the value of the 'srmag2' field.
1806   * r-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
1807   * @param value the value to set.
1808   */
1809  public void setSrmag2(java.lang.Float value) {
1810    this.srmag2 = value;
1811  }
1812
1813  /**
1814   * Gets the value of the 'simag2' field.
1815   * @return i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
1816   */
1817  public java.lang.Float getSimag2() {
1818    return simag2;
1819  }
1820
1821  /**
1822   * Sets the value of the 'simag2' field.
1823   * i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
1824   * @param value the value to set.
1825   */
1826  public void setSimag2(java.lang.Float value) {
1827    this.simag2 = value;
1828  }
1829
1830  /**
1831   * Gets the value of the 'szmag2' field.
1832   * @return z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
1833   */
1834  public java.lang.Float getSzmag2() {
1835    return szmag2;
1836  }
1837
1838  /**
1839   * Sets the value of the 'szmag2' field.
1840   * z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
1841   * @param value the value to set.
1842   */
1843  public void setSzmag2(java.lang.Float value) {
1844    this.szmag2 = value;
1845  }
1846
1847  /**
1848   * Gets the value of the 'sgscore2' field.
1849   * @return Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
1850   */
1851  public java.lang.Float getSgscore2() {
1852    return sgscore2;
1853  }
1854
1855  /**
1856   * Sets the value of the 'sgscore2' field.
1857   * Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
1858   * @param value the value to set.
1859   */
1860  public void setSgscore2(java.lang.Float value) {
1861    this.sgscore2 = value;
1862  }
1863
1864  /**
1865   * Gets the value of the 'distpsnr2' field.
1866   * @return Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
1867   */
1868  public java.lang.Float getDistpsnr2() {
1869    return distpsnr2;
1870  }
1871
1872  /**
1873   * Sets the value of the 'distpsnr2' field.
1874   * Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
1875   * @param value the value to set.
1876   */
1877  public void setDistpsnr2(java.lang.Float value) {
1878    this.distpsnr2 = value;
1879  }
1880
1881  /**
1882   * Gets the value of the 'objectidps3' field.
1883   * @return Object ID of third closest source from PS1 catalog; if exists within 30 arcsec
1884   */
1885  public java.lang.Long getObjectidps3() {
1886    return objectidps3;
1887  }
1888
1889  /**
1890   * Sets the value of the 'objectidps3' field.
1891   * Object ID of third closest source from PS1 catalog; if exists within 30 arcsec
1892   * @param value the value to set.
1893   */
1894  public void setObjectidps3(java.lang.Long value) {
1895    this.objectidps3 = value;
1896  }
1897
1898  /**
1899   * Gets the value of the 'sgmag3' field.
1900   * @return g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
1901   */
1902  public java.lang.Float getSgmag3() {
1903    return sgmag3;
1904  }
1905
1906  /**
1907   * Sets the value of the 'sgmag3' field.
1908   * g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
1909   * @param value the value to set.
1910   */
1911  public void setSgmag3(java.lang.Float value) {
1912    this.sgmag3 = value;
1913  }
1914
1915  /**
1916   * Gets the value of the 'srmag3' field.
1917   * @return r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
1918   */
1919  public java.lang.Float getSrmag3() {
1920    return srmag3;
1921  }
1922
1923  /**
1924   * Sets the value of the 'srmag3' field.
1925   * r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
1926   * @param value the value to set.
1927   */
1928  public void setSrmag3(java.lang.Float value) {
1929    this.srmag3 = value;
1930  }
1931
1932  /**
1933   * Gets the value of the 'simag3' field.
1934   * @return i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
1935   */
1936  public java.lang.Float getSimag3() {
1937    return simag3;
1938  }
1939
1940  /**
1941   * Sets the value of the 'simag3' field.
1942   * i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
1943   * @param value the value to set.
1944   */
1945  public void setSimag3(java.lang.Float value) {
1946    this.simag3 = value;
1947  }
1948
1949  /**
1950   * Gets the value of the 'szmag3' field.
1951   * @return z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
1952   */
1953  public java.lang.Float getSzmag3() {
1954    return szmag3;
1955  }
1956
1957  /**
1958   * Sets the value of the 'szmag3' field.
1959   * z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
1960   * @param value the value to set.
1961   */
1962  public void setSzmag3(java.lang.Float value) {
1963    this.szmag3 = value;
1964  }
1965
1966  /**
1967   * Gets the value of the 'sgscore3' field.
1968   * @return Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
1969   */
1970  public java.lang.Float getSgscore3() {
1971    return sgscore3;
1972  }
1973
1974  /**
1975   * Sets the value of the 'sgscore3' field.
1976   * Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
1977   * @param value the value to set.
1978   */
1979  public void setSgscore3(java.lang.Float value) {
1980    this.sgscore3 = value;
1981  }
1982
1983  /**
1984   * Gets the value of the 'distpsnr3' field.
1985   * @return Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
1986   */
1987  public java.lang.Float getDistpsnr3() {
1988    return distpsnr3;
1989  }
1990
1991  /**
1992   * Sets the value of the 'distpsnr3' field.
1993   * Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
1994   * @param value the value to set.
1995   */
1996  public void setDistpsnr3(java.lang.Float value) {
1997    this.distpsnr3 = value;
1998  }
1999
2000  /**
2001   * Gets the value of the 'nmtchps' field.
2002   * @return Number of source matches from PS1 catalog falling within 30 arcsec
2003   */
2004  public java.lang.Integer getNmtchps() {
2005    return nmtchps;
2006  }
2007
2008  /**
2009   * Sets the value of the 'nmtchps' field.
2010   * Number of source matches from PS1 catalog falling within 30 arcsec
2011   * @param value the value to set.
2012   */
2013  public void setNmtchps(java.lang.Integer value) {
2014    this.nmtchps = value;
2015  }
2016
2017  /**
2018   * Gets the value of the 'rfid' field.
2019   * @return Processing ID for reference image to facilitate archive retrieval
2020   */
2021  public java.lang.Long getRfid() {
2022    return rfid;
2023  }
2024
2025  /**
2026   * Sets the value of the 'rfid' field.
2027   * Processing ID for reference image to facilitate archive retrieval
2028   * @param value the value to set.
2029   */
2030  public void setRfid(java.lang.Long value) {
2031    this.rfid = value;
2032  }
2033
2034  /**
2035   * Gets the value of the 'jdstartref' field.
2036   * @return Observation Julian date of earliest exposure used to generate reference image [days]
2037   */
2038  public java.lang.Double getJdstartref() {
2039    return jdstartref;
2040  }
2041
2042  /**
2043   * Sets the value of the 'jdstartref' field.
2044   * Observation Julian date of earliest exposure used to generate reference image [days]
2045   * @param value the value to set.
2046   */
2047  public void setJdstartref(java.lang.Double value) {
2048    this.jdstartref = value;
2049  }
2050
2051  /**
2052   * Gets the value of the 'jdendref' field.
2053   * @return Observation Julian date of latest exposure used to generate reference image [days]
2054   */
2055  public java.lang.Double getJdendref() {
2056    return jdendref;
2057  }
2058
2059  /**
2060   * Sets the value of the 'jdendref' field.
2061   * Observation Julian date of latest exposure used to generate reference image [days]
2062   * @param value the value to set.
2063   */
2064  public void setJdendref(java.lang.Double value) {
2065    this.jdendref = value;
2066  }
2067
2068  /**
2069   * Gets the value of the 'nframesref' field.
2070   * @return Number of frames (epochal images) used to generate reference image
2071   */
2072  public java.lang.Integer getNframesref() {
2073    return nframesref;
2074  }
2075
2076  /**
2077   * Sets the value of the 'nframesref' field.
2078   * Number of frames (epochal images) used to generate reference image
2079   * @param value the value to set.
2080   */
2081  public void setNframesref(java.lang.Integer value) {
2082    this.nframesref = value;
2083  }
2084
2085  /**
2086   * Gets the value of the 'rbversion' field.
2087   * @return version of RealBogus model/classifier used to assign rb quality score
2088   */
2089  public java.lang.CharSequence getRbversion() {
2090    return rbversion;
2091  }
2092
2093  /**
2094   * Sets the value of the 'rbversion' field.
2095   * version of RealBogus model/classifier used to assign rb quality score
2096   * @param value the value to set.
2097   */
2098  public void setRbversion(java.lang.CharSequence value) {
2099    this.rbversion = value;
2100  }
2101
2102  /**
2103   * Gets the value of the 'dsnrms' field.
2104   * @return Ratio: D/stddev(D) on event position where D = difference image
2105   */
2106  public java.lang.Float getDsnrms() {
2107    return dsnrms;
2108  }
2109
2110  /**
2111   * Sets the value of the 'dsnrms' field.
2112   * Ratio: D/stddev(D) on event position where D = difference image
2113   * @param value the value to set.
2114   */
2115  public void setDsnrms(java.lang.Float value) {
2116    this.dsnrms = value;
2117  }
2118
2119  /**
2120   * Gets the value of the 'ssnrms' field.
2121   * @return Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D)
2122   */
2123  public java.lang.Float getSsnrms() {
2124    return ssnrms;
2125  }
2126
2127  /**
2128   * Sets the value of the 'ssnrms' field.
2129   * Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D)
2130   * @param value the value to set.
2131   */
2132  public void setSsnrms(java.lang.Float value) {
2133    this.ssnrms = value;
2134  }
2135
2136  /**
2137   * Gets the value of the 'dsdiff' field.
2138   * @return Difference of statistics: dsnrms - ssnrms
2139   */
2140  public java.lang.Float getDsdiff() {
2141    return dsdiff;
2142  }
2143
2144  /**
2145   * Sets the value of the 'dsdiff' field.
2146   * Difference of statistics: dsnrms - ssnrms
2147   * @param value the value to set.
2148   */
2149  public void setDsdiff(java.lang.Float value) {
2150    this.dsdiff = value;
2151  }
2152
2153  /**
2154   * Gets the value of the 'magzpsci' field.
2155   * @return Magnitude zero point for photometry estimates [mag]
2156   */
2157  public java.lang.Float getMagzpsci() {
2158    return magzpsci;
2159  }
2160
2161  /**
2162   * Sets the value of the 'magzpsci' field.
2163   * Magnitude zero point for photometry estimates [mag]
2164   * @param value the value to set.
2165   */
2166  public void setMagzpsci(java.lang.Float value) {
2167    this.magzpsci = value;
2168  }
2169
2170  /**
2171   * Gets the value of the 'magzpsciunc' field.
2172   * @return Magnitude zero point uncertainty (in magzpsci) [mag]
2173   */
2174  public java.lang.Float getMagzpsciunc() {
2175    return magzpsciunc;
2176  }
2177
2178  /**
2179   * Sets the value of the 'magzpsciunc' field.
2180   * Magnitude zero point uncertainty (in magzpsci) [mag]
2181   * @param value the value to set.
2182   */
2183  public void setMagzpsciunc(java.lang.Float value) {
2184    this.magzpsciunc = value;
2185  }
2186
2187  /**
2188   * Gets the value of the 'magzpscirms' field.
2189   * @return RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
2190   */
2191  public java.lang.Float getMagzpscirms() {
2192    return magzpscirms;
2193  }
2194
2195  /**
2196   * Sets the value of the 'magzpscirms' field.
2197   * RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
2198   * @param value the value to set.
2199   */
2200  public void setMagzpscirms(java.lang.Float value) {
2201    this.magzpscirms = value;
2202  }
2203
2204  /**
2205   * Gets the value of the 'nmatches' field.
2206   * @return Number of PS1 photometric calibrators used to calibrate science image from science image processing
2207   */
2208  public java.lang.Integer getNmatches() {
2209    return nmatches;
2210  }
2211
2212  /**
2213   * Sets the value of the 'nmatches' field.
2214   * Number of PS1 photometric calibrators used to calibrate science image from science image processing
2215   * @param value the value to set.
2216   */
2217  public void setNmatches(java.lang.Integer value) {
2218    this.nmatches = value;
2219  }
2220
2221  /**
2222   * Gets the value of the 'clrcoeff' field.
2223   * @return Color coefficient from linear fit from photometric calibration of science image
2224   */
2225  public java.lang.Float getClrcoeff() {
2226    return clrcoeff;
2227  }
2228
2229  /**
2230   * Sets the value of the 'clrcoeff' field.
2231   * Color coefficient from linear fit from photometric calibration of science image
2232   * @param value the value to set.
2233   */
2234  public void setClrcoeff(java.lang.Float value) {
2235    this.clrcoeff = value;
2236  }
2237
2238  /**
2239   * Gets the value of the 'clrcounc' field.
2240   * @return Color coefficient uncertainty from linear fit (corresponding to clrcoeff)
2241   */
2242  public java.lang.Float getClrcounc() {
2243    return clrcounc;
2244  }
2245
2246  /**
2247   * Sets the value of the 'clrcounc' field.
2248   * Color coefficient uncertainty from linear fit (corresponding to clrcoeff)
2249   * @param value the value to set.
2250   */
2251  public void setClrcounc(java.lang.Float value) {
2252    this.clrcounc = value;
2253  }
2254
2255  /**
2256   * Gets the value of the 'zpclrcov' field.
2257   * @return Covariance in magzpsci and clrcoeff from science image processing [mag^2]
2258   */
2259  public java.lang.Float getZpclrcov() {
2260    return zpclrcov;
2261  }
2262
2263  /**
2264   * Sets the value of the 'zpclrcov' field.
2265   * Covariance in magzpsci and clrcoeff from science image processing [mag^2]
2266   * @param value the value to set.
2267   */
2268  public void setZpclrcov(java.lang.Float value) {
2269    this.zpclrcov = value;
2270  }
2271
2272  /**
2273   * Gets the value of the 'zpmed' field.
2274   * @return Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
2275   */
2276  public java.lang.Float getZpmed() {
2277    return zpmed;
2278  }
2279
2280  /**
2281   * Sets the value of the 'zpmed' field.
2282   * Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
2283   * @param value the value to set.
2284   */
2285  public void setZpmed(java.lang.Float value) {
2286    this.zpmed = value;
2287  }
2288
2289  /**
2290   * Gets the value of the 'clrmed' field.
2291   * @return Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively
2292   */
2293  public java.lang.Float getClrmed() {
2294    return clrmed;
2295  }
2296
2297  /**
2298   * Sets the value of the 'clrmed' field.
2299   * Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively
2300   * @param value the value to set.
2301   */
2302  public void setClrmed(java.lang.Float value) {
2303    this.clrmed = value;
2304  }
2305
2306  /**
2307   * Gets the value of the 'clrrms' field.
2308   * @return RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag]
2309   */
2310  public java.lang.Float getClrrms() {
2311    return clrrms;
2312  }
2313
2314  /**
2315   * Sets the value of the 'clrrms' field.
2316   * RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag]
2317   * @param value the value to set.
2318   */
2319  public void setClrrms(java.lang.Float value) {
2320    this.clrrms = value;
2321  }
2322
2323  /**
2324   * Gets the value of the 'neargaia' field.
2325   * @return Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec]
2326   */
2327  public java.lang.Float getNeargaia() {
2328    return neargaia;
2329  }
2330
2331  /**
2332   * Sets the value of the 'neargaia' field.
2333   * Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec]
2334   * @param value the value to set.
2335   */
2336  public void setNeargaia(java.lang.Float value) {
2337    this.neargaia = value;
2338  }
2339
2340  /**
2341   * Gets the value of the 'neargaiabright' field.
2342   * @return Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec]
2343   */
2344  public java.lang.Float getNeargaiabright() {
2345    return neargaiabright;
2346  }
2347
2348  /**
2349   * Sets the value of the 'neargaiabright' field.
2350   * Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec]
2351   * @param value the value to set.
2352   */
2353  public void setNeargaiabright(java.lang.Float value) {
2354    this.neargaiabright = value;
2355  }
2356
2357  /**
2358   * Gets the value of the 'maggaia' field.
2359   * @return Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag]
2360   */
2361  public java.lang.Float getMaggaia() {
2362    return maggaia;
2363  }
2364
2365  /**
2366   * Sets the value of the 'maggaia' field.
2367   * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag]
2368   * @param value the value to set.
2369   */
2370  public void setMaggaia(java.lang.Float value) {
2371    this.maggaia = value;
2372  }
2373
2374  /**
2375   * Gets the value of the 'maggaiabright' field.
2376   * @return Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag]
2377   */
2378  public java.lang.Float getMaggaiabright() {
2379    return maggaiabright;
2380  }
2381
2382  /**
2383   * Sets the value of the 'maggaiabright' field.
2384   * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag]
2385   * @param value the value to set.
2386   */
2387  public void setMaggaiabright(java.lang.Float value) {
2388    this.maggaiabright = value;
2389  }
2390
2391  /**
2392   * Gets the value of the 'exptime' field.
2393   * @return Integration time of camera exposure [sec]
2394   */
2395  public java.lang.Float getExptime() {
2396    return exptime;
2397  }
2398
2399  /**
2400   * Sets the value of the 'exptime' field.
2401   * Integration time of camera exposure [sec]
2402   * @param value the value to set.
2403   */
2404  public void setExptime(java.lang.Float value) {
2405    this.exptime = value;
2406  }
2407
2408  /**
2409   * Creates a new candidate RecordBuilder.
2410   * @return A new candidate RecordBuilder
2411   */
2412  public static ztf.alert.candidate.Builder newBuilder() {
2413    return new ztf.alert.candidate.Builder();
2414  }
2415
2416  /**
2417   * Creates a new candidate RecordBuilder by copying an existing Builder.
2418   * @param other The existing builder to copy.
2419   * @return A new candidate RecordBuilder
2420   */
2421  public static ztf.alert.candidate.Builder newBuilder(ztf.alert.candidate.Builder other) {
2422    return new ztf.alert.candidate.Builder(other);
2423  }
2424
2425  /**
2426   * Creates a new candidate RecordBuilder by copying an existing candidate instance.
2427   * @param other The existing instance to copy.
2428   * @return A new candidate RecordBuilder
2429   */
2430  public static ztf.alert.candidate.Builder newBuilder(ztf.alert.candidate other) {
2431    return new ztf.alert.candidate.Builder(other);
2432  }
2433
2434  /**
2435   * RecordBuilder for candidate instances.
2436   */
2437  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<candidate>
2438    implements org.apache.avro.data.RecordBuilder<candidate> {
2439
2440    /** Observation Julian date at start of exposure [days] */
2441    private double jd;
2442    /** Filter ID (1=g; 2=R; 3=i) */
2443    private int fid;
2444    /** Processing ID for science image to facilitate archive retrieval */
2445    private long pid;
2446    /** Expected 5-sigma mag limit in difference image based on global noise estimate [mag] */
2447    private java.lang.Float diffmaglim;
2448    /** filename of positive (sci minus ref) difference image */
2449    private java.lang.CharSequence pdiffimfilename;
2450    /** Principal investigator attached to program ID */
2451    private java.lang.CharSequence programpi;
2452    /** Program ID: encodes either public, collab, or caltech mode */
2453    private int programid;
2454    /** Candidate ID from operations DB */
2455    private long candid;
2456    /** t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction */
2457    private java.lang.CharSequence isdiffpos;
2458    /** Internal pipeline table extraction ID */
2459    private java.lang.Long tblid;
2460    /** Night ID */
2461    private java.lang.Integer nid;
2462    /** Readout channel ID [00 .. 63] */
2463    private java.lang.Integer rcid;
2464    /** ZTF field ID */
2465    private java.lang.Integer field;
2466    /** x-image position of candidate [pixels] */
2467    private java.lang.Float xpos;
2468    /** y-image position of candidate [pixels] */
2469    private java.lang.Float ypos;
2470    /** Right Ascension of candidate; J2000 [deg] */
2471    private double ra;
2472    /** Declination of candidate; J2000 [deg] */
2473    private double dec;
2474    /** Magnitude from PSF-fit photometry [mag] */
2475    private float magpsf;
2476    /** 1-sigma uncertainty in magpsf [mag] */
2477    private float sigmapsf;
2478    /** Reduced chi-square for PSF-fit */
2479    private java.lang.Float chipsf;
2480    /** Aperture mag using 14 pixel diameter aperture [mag] */
2481    private java.lang.Float magap;
2482    /** 1-sigma uncertainty in magap [mag] */
2483    private java.lang.Float sigmagap;
2484    /** distance to nearest source in reference image PSF-catalog [pixels] */
2485    private java.lang.Float distnr;
2486    /** magnitude of nearest source in reference image PSF-catalog [mag] */
2487    private java.lang.Float magnr;
2488    /** 1-sigma uncertainty in magnr [mag] */
2489    private java.lang.Float sigmagnr;
2490    /** DAOPhot chi parameter of nearest source in reference image PSF-catalog */
2491    private java.lang.Float chinr;
2492    /** DAOPhot sharp parameter of nearest source in reference image PSF-catalog */
2493    private java.lang.Float sharpnr;
2494    /** Local sky background estimate [DN] */
2495    private java.lang.Float sky;
2496    /** Difference: magap - magpsf [mag] */
2497    private java.lang.Float magdiff;
2498    /** Full Width Half Max assuming a Gaussian core, from SExtractor [pixels] */
2499    private java.lang.Float fwhm;
2500    /** Star/Galaxy classification score from SExtractor */
2501    private java.lang.Float classtar;
2502    /** Distance to nearest edge in image [pixels] */
2503    private java.lang.Float mindtoedge;
2504    /** Difference: diffmaglim - magap [mag] */
2505    private java.lang.Float magfromlim;
2506    /** Ratio: difffwhm / fwhm */
2507    private java.lang.Float seeratio;
2508    /** Windowed profile RMS afloat major axis from SExtractor [pixels] */
2509    private java.lang.Float aimage;
2510    /** Windowed profile RMS afloat minor axis from SExtractor [pixels] */
2511    private java.lang.Float bimage;
2512    /** Ratio: aimage / fwhm */
2513    private java.lang.Float aimagerat;
2514    /** Ratio: bimage / fwhm */
2515    private java.lang.Float bimagerat;
2516    /** Ratio: aimage / bimage */
2517    private java.lang.Float elong;
2518    /** number of negative pixels in a 5 x 5 pixel stamp */
2519    private java.lang.Integer nneg;
2520    /** number of prior-tagged bad pixels in a 5 x 5 pixel stamp */
2521    private java.lang.Integer nbad;
2522    /** RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable */
2523    private java.lang.Float rb;
2524    /** distance to nearest known solar system object if exists within 30 arcsec [arcsec] */
2525    private java.lang.Float ssdistnr;
2526    /** magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag] */
2527    private java.lang.Float ssmagnr;
2528    /** name of nearest known solar system object if exists within 30 arcsec (from MPC archive) */
2529    private java.lang.CharSequence ssnamenr;
2530    /** Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers */
2531    private java.lang.Float sumrat;
2532    /** Aperture mag using 18 pixel diameter aperture [mag] */
2533    private java.lang.Float magapbig;
2534    /** 1-sigma uncertainty in magapbig [mag] */
2535    private java.lang.Float sigmagapbig;
2536    /** Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg] */
2537    private double ranr;
2538    /** Declination of nearest source in reference image PSF-catalog; J2000 [deg] */
2539    private double decnr;
2540    /** g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2541    private java.lang.Float sgmag1;
2542    /** r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2543    private java.lang.Float srmag1;
2544    /** i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2545    private java.lang.Float simag1;
2546    /** z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2547    private java.lang.Float szmag1;
2548    /** Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star */
2549    private java.lang.Float sgscore1;
2550    /** Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec] */
2551    private java.lang.Float distpsnr1;
2552    /** Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted */
2553    private int ndethist;
2554    /** Number of times input candidate position fell on any field and readout-channel going back to beginning of survey */
2555    private int ncovhist;
2556    /** Earliest Julian date of epoch corresponding to ndethist [days] */
2557    private java.lang.Double jdstarthist;
2558    /** Latest Julian date of epoch corresponding to ndethist [days] */
2559    private java.lang.Double jdendhist;
2560    /** Peak-pixel signal-to-noise ratio in point source matched-filtered detection image */
2561    private java.lang.Double scorr;
2562    /** 1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure */
2563    private java.lang.Integer tooflag;
2564    /** Object ID of closest source from PS1 catalog; if exists within 30 arcsec */
2565    private java.lang.Long objectidps1;
2566    /** Object ID of second closest source from PS1 catalog; if exists within 30 arcsec */
2567    private java.lang.Long objectidps2;
2568    /** g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2569    private java.lang.Float sgmag2;
2570    /** r-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2571    private java.lang.Float srmag2;
2572    /** i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2573    private java.lang.Float simag2;
2574    /** z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2575    private java.lang.Float szmag2;
2576    /** Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star */
2577    private java.lang.Float sgscore2;
2578    /** Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec] */
2579    private java.lang.Float distpsnr2;
2580    /** Object ID of third closest source from PS1 catalog; if exists within 30 arcsec */
2581    private java.lang.Long objectidps3;
2582    /** g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2583    private java.lang.Float sgmag3;
2584    /** r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2585    private java.lang.Float srmag3;
2586    /** i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2587    private java.lang.Float simag3;
2588    /** z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag] */
2589    private java.lang.Float szmag3;
2590    /** Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star */
2591    private java.lang.Float sgscore3;
2592    /** Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec] */
2593    private java.lang.Float distpsnr3;
2594    /** Number of source matches from PS1 catalog falling within 30 arcsec */
2595    private int nmtchps;
2596    /** Processing ID for reference image to facilitate archive retrieval */
2597    private long rfid;
2598    /** Observation Julian date of earliest exposure used to generate reference image [days] */
2599    private double jdstartref;
2600    /** Observation Julian date of latest exposure used to generate reference image [days] */
2601    private double jdendref;
2602    /** Number of frames (epochal images) used to generate reference image */
2603    private int nframesref;
2604    /** version of RealBogus model/classifier used to assign rb quality score */
2605    private java.lang.CharSequence rbversion;
2606    /** Ratio: D/stddev(D) on event position where D = difference image */
2607    private java.lang.Float dsnrms;
2608    /** Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D) */
2609    private java.lang.Float ssnrms;
2610    /** Difference of statistics: dsnrms - ssnrms */
2611    private java.lang.Float dsdiff;
2612    /** Magnitude zero point for photometry estimates [mag] */
2613    private java.lang.Float magzpsci;
2614    /** Magnitude zero point uncertainty (in magzpsci) [mag] */
2615    private java.lang.Float magzpsciunc;
2616    /** RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag] */
2617    private java.lang.Float magzpscirms;
2618    /** Number of PS1 photometric calibrators used to calibrate science image from science image processing */
2619    private int nmatches;
2620    /** Color coefficient from linear fit from photometric calibration of science image */
2621    private java.lang.Float clrcoeff;
2622    /** Color coefficient uncertainty from linear fit (corresponding to clrcoeff) */
2623    private java.lang.Float clrcounc;
2624    /** Covariance in magzpsci and clrcoeff from science image processing [mag^2] */
2625    private java.lang.Float zpclrcov;
2626    /** Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag] */
2627    private java.lang.Float zpmed;
2628    /** Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively */
2629    private java.lang.Float clrmed;
2630    /** RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag] */
2631    private java.lang.Float clrrms;
2632    /** Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec] */
2633    private java.lang.Float neargaia;
2634    /** Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec] */
2635    private java.lang.Float neargaiabright;
2636    /** Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag] */
2637    private java.lang.Float maggaia;
2638    /** Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag] */
2639    private java.lang.Float maggaiabright;
2640    /** Integration time of camera exposure [sec] */
2641    private java.lang.Float exptime;
2642
2643    /** Creates a new Builder */
2644    private Builder() {
2645      super(SCHEMA$);
2646    }
2647
2648    /**
2649     * Creates a Builder by copying an existing Builder.
2650     * @param other The existing Builder to copy.
2651     */
2652    private Builder(ztf.alert.candidate.Builder other) {
2653      super(other);
2654      if (isValidValue(fields()[0], other.jd)) {
2655        this.jd = data().deepCopy(fields()[0].schema(), other.jd);
2656        fieldSetFlags()[0] = true;
2657      }
2658      if (isValidValue(fields()[1], other.fid)) {
2659        this.fid = data().deepCopy(fields()[1].schema(), other.fid);
2660        fieldSetFlags()[1] = true;
2661      }
2662      if (isValidValue(fields()[2], other.pid)) {
2663        this.pid = data().deepCopy(fields()[2].schema(), other.pid);
2664        fieldSetFlags()[2] = true;
2665      }
2666      if (isValidValue(fields()[3], other.diffmaglim)) {
2667        this.diffmaglim = data().deepCopy(fields()[3].schema(), other.diffmaglim);
2668        fieldSetFlags()[3] = true;
2669      }
2670      if (isValidValue(fields()[4], other.pdiffimfilename)) {
2671        this.pdiffimfilename = data().deepCopy(fields()[4].schema(), other.pdiffimfilename);
2672        fieldSetFlags()[4] = true;
2673      }
2674      if (isValidValue(fields()[5], other.programpi)) {
2675        this.programpi = data().deepCopy(fields()[5].schema(), other.programpi);
2676        fieldSetFlags()[5] = true;
2677      }
2678      if (isValidValue(fields()[6], other.programid)) {
2679        this.programid = data().deepCopy(fields()[6].schema(), other.programid);
2680        fieldSetFlags()[6] = true;
2681      }
2682      if (isValidValue(fields()[7], other.candid)) {
2683        this.candid = data().deepCopy(fields()[7].schema(), other.candid);
2684        fieldSetFlags()[7] = true;
2685      }
2686      if (isValidValue(fields()[8], other.isdiffpos)) {
2687        this.isdiffpos = data().deepCopy(fields()[8].schema(), other.isdiffpos);
2688        fieldSetFlags()[8] = true;
2689      }
2690      if (isValidValue(fields()[9], other.tblid)) {
2691        this.tblid = data().deepCopy(fields()[9].schema(), other.tblid);
2692        fieldSetFlags()[9] = true;
2693      }
2694      if (isValidValue(fields()[10], other.nid)) {
2695        this.nid = data().deepCopy(fields()[10].schema(), other.nid);
2696        fieldSetFlags()[10] = true;
2697      }
2698      if (isValidValue(fields()[11], other.rcid)) {
2699        this.rcid = data().deepCopy(fields()[11].schema(), other.rcid);
2700        fieldSetFlags()[11] = true;
2701      }
2702      if (isValidValue(fields()[12], other.field)) {
2703        this.field = data().deepCopy(fields()[12].schema(), other.field);
2704        fieldSetFlags()[12] = true;
2705      }
2706      if (isValidValue(fields()[13], other.xpos)) {
2707        this.xpos = data().deepCopy(fields()[13].schema(), other.xpos);
2708        fieldSetFlags()[13] = true;
2709      }
2710      if (isValidValue(fields()[14], other.ypos)) {
2711        this.ypos = data().deepCopy(fields()[14].schema(), other.ypos);
2712        fieldSetFlags()[14] = true;
2713      }
2714      if (isValidValue(fields()[15], other.ra)) {
2715        this.ra = data().deepCopy(fields()[15].schema(), other.ra);
2716        fieldSetFlags()[15] = true;
2717      }
2718      if (isValidValue(fields()[16], other.dec)) {
2719        this.dec = data().deepCopy(fields()[16].schema(), other.dec);
2720        fieldSetFlags()[16] = true;
2721      }
2722      if (isValidValue(fields()[17], other.magpsf)) {
2723        this.magpsf = data().deepCopy(fields()[17].schema(), other.magpsf);
2724        fieldSetFlags()[17] = true;
2725      }
2726      if (isValidValue(fields()[18], other.sigmapsf)) {
2727        this.sigmapsf = data().deepCopy(fields()[18].schema(), other.sigmapsf);
2728        fieldSetFlags()[18] = true;
2729      }
2730      if (isValidValue(fields()[19], other.chipsf)) {
2731        this.chipsf = data().deepCopy(fields()[19].schema(), other.chipsf);
2732        fieldSetFlags()[19] = true;
2733      }
2734      if (isValidValue(fields()[20], other.magap)) {
2735        this.magap = data().deepCopy(fields()[20].schema(), other.magap);
2736        fieldSetFlags()[20] = true;
2737      }
2738      if (isValidValue(fields()[21], other.sigmagap)) {
2739        this.sigmagap = data().deepCopy(fields()[21].schema(), other.sigmagap);
2740        fieldSetFlags()[21] = true;
2741      }
2742      if (isValidValue(fields()[22], other.distnr)) {
2743        this.distnr = data().deepCopy(fields()[22].schema(), other.distnr);
2744        fieldSetFlags()[22] = true;
2745      }
2746      if (isValidValue(fields()[23], other.magnr)) {
2747        this.magnr = data().deepCopy(fields()[23].schema(), other.magnr);
2748        fieldSetFlags()[23] = true;
2749      }
2750      if (isValidValue(fields()[24], other.sigmagnr)) {
2751        this.sigmagnr = data().deepCopy(fields()[24].schema(), other.sigmagnr);
2752        fieldSetFlags()[24] = true;
2753      }
2754      if (isValidValue(fields()[25], other.chinr)) {
2755        this.chinr = data().deepCopy(fields()[25].schema(), other.chinr);
2756        fieldSetFlags()[25] = true;
2757      }
2758      if (isValidValue(fields()[26], other.sharpnr)) {
2759        this.sharpnr = data().deepCopy(fields()[26].schema(), other.sharpnr);
2760        fieldSetFlags()[26] = true;
2761      }
2762      if (isValidValue(fields()[27], other.sky)) {
2763        this.sky = data().deepCopy(fields()[27].schema(), other.sky);
2764        fieldSetFlags()[27] = true;
2765      }
2766      if (isValidValue(fields()[28], other.magdiff)) {
2767        this.magdiff = data().deepCopy(fields()[28].schema(), other.magdiff);
2768        fieldSetFlags()[28] = true;
2769      }
2770      if (isValidValue(fields()[29], other.fwhm)) {
2771        this.fwhm = data().deepCopy(fields()[29].schema(), other.fwhm);
2772        fieldSetFlags()[29] = true;
2773      }
2774      if (isValidValue(fields()[30], other.classtar)) {
2775        this.classtar = data().deepCopy(fields()[30].schema(), other.classtar);
2776        fieldSetFlags()[30] = true;
2777      }
2778      if (isValidValue(fields()[31], other.mindtoedge)) {
2779        this.mindtoedge = data().deepCopy(fields()[31].schema(), other.mindtoedge);
2780        fieldSetFlags()[31] = true;
2781      }
2782      if (isValidValue(fields()[32], other.magfromlim)) {
2783        this.magfromlim = data().deepCopy(fields()[32].schema(), other.magfromlim);
2784        fieldSetFlags()[32] = true;
2785      }
2786      if (isValidValue(fields()[33], other.seeratio)) {
2787        this.seeratio = data().deepCopy(fields()[33].schema(), other.seeratio);
2788        fieldSetFlags()[33] = true;
2789      }
2790      if (isValidValue(fields()[34], other.aimage)) {
2791        this.aimage = data().deepCopy(fields()[34].schema(), other.aimage);
2792        fieldSetFlags()[34] = true;
2793      }
2794      if (isValidValue(fields()[35], other.bimage)) {
2795        this.bimage = data().deepCopy(fields()[35].schema(), other.bimage);
2796        fieldSetFlags()[35] = true;
2797      }
2798      if (isValidValue(fields()[36], other.aimagerat)) {
2799        this.aimagerat = data().deepCopy(fields()[36].schema(), other.aimagerat);
2800        fieldSetFlags()[36] = true;
2801      }
2802      if (isValidValue(fields()[37], other.bimagerat)) {
2803        this.bimagerat = data().deepCopy(fields()[37].schema(), other.bimagerat);
2804        fieldSetFlags()[37] = true;
2805      }
2806      if (isValidValue(fields()[38], other.elong)) {
2807        this.elong = data().deepCopy(fields()[38].schema(), other.elong);
2808        fieldSetFlags()[38] = true;
2809      }
2810      if (isValidValue(fields()[39], other.nneg)) {
2811        this.nneg = data().deepCopy(fields()[39].schema(), other.nneg);
2812        fieldSetFlags()[39] = true;
2813      }
2814      if (isValidValue(fields()[40], other.nbad)) {
2815        this.nbad = data().deepCopy(fields()[40].schema(), other.nbad);
2816        fieldSetFlags()[40] = true;
2817      }
2818      if (isValidValue(fields()[41], other.rb)) {
2819        this.rb = data().deepCopy(fields()[41].schema(), other.rb);
2820        fieldSetFlags()[41] = true;
2821      }
2822      if (isValidValue(fields()[42], other.ssdistnr)) {
2823        this.ssdistnr = data().deepCopy(fields()[42].schema(), other.ssdistnr);
2824        fieldSetFlags()[42] = true;
2825      }
2826      if (isValidValue(fields()[43], other.ssmagnr)) {
2827        this.ssmagnr = data().deepCopy(fields()[43].schema(), other.ssmagnr);
2828        fieldSetFlags()[43] = true;
2829      }
2830      if (isValidValue(fields()[44], other.ssnamenr)) {
2831        this.ssnamenr = data().deepCopy(fields()[44].schema(), other.ssnamenr);
2832        fieldSetFlags()[44] = true;
2833      }
2834      if (isValidValue(fields()[45], other.sumrat)) {
2835        this.sumrat = data().deepCopy(fields()[45].schema(), other.sumrat);
2836        fieldSetFlags()[45] = true;
2837      }
2838      if (isValidValue(fields()[46], other.magapbig)) {
2839        this.magapbig = data().deepCopy(fields()[46].schema(), other.magapbig);
2840        fieldSetFlags()[46] = true;
2841      }
2842      if (isValidValue(fields()[47], other.sigmagapbig)) {
2843        this.sigmagapbig = data().deepCopy(fields()[47].schema(), other.sigmagapbig);
2844        fieldSetFlags()[47] = true;
2845      }
2846      if (isValidValue(fields()[48], other.ranr)) {
2847        this.ranr = data().deepCopy(fields()[48].schema(), other.ranr);
2848        fieldSetFlags()[48] = true;
2849      }
2850      if (isValidValue(fields()[49], other.decnr)) {
2851        this.decnr = data().deepCopy(fields()[49].schema(), other.decnr);
2852        fieldSetFlags()[49] = true;
2853      }
2854      if (isValidValue(fields()[50], other.sgmag1)) {
2855        this.sgmag1 = data().deepCopy(fields()[50].schema(), other.sgmag1);
2856        fieldSetFlags()[50] = true;
2857      }
2858      if (isValidValue(fields()[51], other.srmag1)) {
2859        this.srmag1 = data().deepCopy(fields()[51].schema(), other.srmag1);
2860        fieldSetFlags()[51] = true;
2861      }
2862      if (isValidValue(fields()[52], other.simag1)) {
2863        this.simag1 = data().deepCopy(fields()[52].schema(), other.simag1);
2864        fieldSetFlags()[52] = true;
2865      }
2866      if (isValidValue(fields()[53], other.szmag1)) {
2867        this.szmag1 = data().deepCopy(fields()[53].schema(), other.szmag1);
2868        fieldSetFlags()[53] = true;
2869      }
2870      if (isValidValue(fields()[54], other.sgscore1)) {
2871        this.sgscore1 = data().deepCopy(fields()[54].schema(), other.sgscore1);
2872        fieldSetFlags()[54] = true;
2873      }
2874      if (isValidValue(fields()[55], other.distpsnr1)) {
2875        this.distpsnr1 = data().deepCopy(fields()[55].schema(), other.distpsnr1);
2876        fieldSetFlags()[55] = true;
2877      }
2878      if (isValidValue(fields()[56], other.ndethist)) {
2879        this.ndethist = data().deepCopy(fields()[56].schema(), other.ndethist);
2880        fieldSetFlags()[56] = true;
2881      }
2882      if (isValidValue(fields()[57], other.ncovhist)) {
2883        this.ncovhist = data().deepCopy(fields()[57].schema(), other.ncovhist);
2884        fieldSetFlags()[57] = true;
2885      }
2886      if (isValidValue(fields()[58], other.jdstarthist)) {
2887        this.jdstarthist = data().deepCopy(fields()[58].schema(), other.jdstarthist);
2888        fieldSetFlags()[58] = true;
2889      }
2890      if (isValidValue(fields()[59], other.jdendhist)) {
2891        this.jdendhist = data().deepCopy(fields()[59].schema(), other.jdendhist);
2892        fieldSetFlags()[59] = true;
2893      }
2894      if (isValidValue(fields()[60], other.scorr)) {
2895        this.scorr = data().deepCopy(fields()[60].schema(), other.scorr);
2896        fieldSetFlags()[60] = true;
2897      }
2898      if (isValidValue(fields()[61], other.tooflag)) {
2899        this.tooflag = data().deepCopy(fields()[61].schema(), other.tooflag);
2900        fieldSetFlags()[61] = true;
2901      }
2902      if (isValidValue(fields()[62], other.objectidps1)) {
2903        this.objectidps1 = data().deepCopy(fields()[62].schema(), other.objectidps1);
2904        fieldSetFlags()[62] = true;
2905      }
2906      if (isValidValue(fields()[63], other.objectidps2)) {
2907        this.objectidps2 = data().deepCopy(fields()[63].schema(), other.objectidps2);
2908        fieldSetFlags()[63] = true;
2909      }
2910      if (isValidValue(fields()[64], other.sgmag2)) {
2911        this.sgmag2 = data().deepCopy(fields()[64].schema(), other.sgmag2);
2912        fieldSetFlags()[64] = true;
2913      }
2914      if (isValidValue(fields()[65], other.srmag2)) {
2915        this.srmag2 = data().deepCopy(fields()[65].schema(), other.srmag2);
2916        fieldSetFlags()[65] = true;
2917      }
2918      if (isValidValue(fields()[66], other.simag2)) {
2919        this.simag2 = data().deepCopy(fields()[66].schema(), other.simag2);
2920        fieldSetFlags()[66] = true;
2921      }
2922      if (isValidValue(fields()[67], other.szmag2)) {
2923        this.szmag2 = data().deepCopy(fields()[67].schema(), other.szmag2);
2924        fieldSetFlags()[67] = true;
2925      }
2926      if (isValidValue(fields()[68], other.sgscore2)) {
2927        this.sgscore2 = data().deepCopy(fields()[68].schema(), other.sgscore2);
2928        fieldSetFlags()[68] = true;
2929      }
2930      if (isValidValue(fields()[69], other.distpsnr2)) {
2931        this.distpsnr2 = data().deepCopy(fields()[69].schema(), other.distpsnr2);
2932        fieldSetFlags()[69] = true;
2933      }
2934      if (isValidValue(fields()[70], other.objectidps3)) {
2935        this.objectidps3 = data().deepCopy(fields()[70].schema(), other.objectidps3);
2936        fieldSetFlags()[70] = true;
2937      }
2938      if (isValidValue(fields()[71], other.sgmag3)) {
2939        this.sgmag3 = data().deepCopy(fields()[71].schema(), other.sgmag3);
2940        fieldSetFlags()[71] = true;
2941      }
2942      if (isValidValue(fields()[72], other.srmag3)) {
2943        this.srmag3 = data().deepCopy(fields()[72].schema(), other.srmag3);
2944        fieldSetFlags()[72] = true;
2945      }
2946      if (isValidValue(fields()[73], other.simag3)) {
2947        this.simag3 = data().deepCopy(fields()[73].schema(), other.simag3);
2948        fieldSetFlags()[73] = true;
2949      }
2950      if (isValidValue(fields()[74], other.szmag3)) {
2951        this.szmag3 = data().deepCopy(fields()[74].schema(), other.szmag3);
2952        fieldSetFlags()[74] = true;
2953      }
2954      if (isValidValue(fields()[75], other.sgscore3)) {
2955        this.sgscore3 = data().deepCopy(fields()[75].schema(), other.sgscore3);
2956        fieldSetFlags()[75] = true;
2957      }
2958      if (isValidValue(fields()[76], other.distpsnr3)) {
2959        this.distpsnr3 = data().deepCopy(fields()[76].schema(), other.distpsnr3);
2960        fieldSetFlags()[76] = true;
2961      }
2962      if (isValidValue(fields()[77], other.nmtchps)) {
2963        this.nmtchps = data().deepCopy(fields()[77].schema(), other.nmtchps);
2964        fieldSetFlags()[77] = true;
2965      }
2966      if (isValidValue(fields()[78], other.rfid)) {
2967        this.rfid = data().deepCopy(fields()[78].schema(), other.rfid);
2968        fieldSetFlags()[78] = true;
2969      }
2970      if (isValidValue(fields()[79], other.jdstartref)) {
2971        this.jdstartref = data().deepCopy(fields()[79].schema(), other.jdstartref);
2972        fieldSetFlags()[79] = true;
2973      }
2974      if (isValidValue(fields()[80], other.jdendref)) {
2975        this.jdendref = data().deepCopy(fields()[80].schema(), other.jdendref);
2976        fieldSetFlags()[80] = true;
2977      }
2978      if (isValidValue(fields()[81], other.nframesref)) {
2979        this.nframesref = data().deepCopy(fields()[81].schema(), other.nframesref);
2980        fieldSetFlags()[81] = true;
2981      }
2982      if (isValidValue(fields()[82], other.rbversion)) {
2983        this.rbversion = data().deepCopy(fields()[82].schema(), other.rbversion);
2984        fieldSetFlags()[82] = true;
2985      }
2986      if (isValidValue(fields()[83], other.dsnrms)) {
2987        this.dsnrms = data().deepCopy(fields()[83].schema(), other.dsnrms);
2988        fieldSetFlags()[83] = true;
2989      }
2990      if (isValidValue(fields()[84], other.ssnrms)) {
2991        this.ssnrms = data().deepCopy(fields()[84].schema(), other.ssnrms);
2992        fieldSetFlags()[84] = true;
2993      }
2994      if (isValidValue(fields()[85], other.dsdiff)) {
2995        this.dsdiff = data().deepCopy(fields()[85].schema(), other.dsdiff);
2996        fieldSetFlags()[85] = true;
2997      }
2998      if (isValidValue(fields()[86], other.magzpsci)) {
2999        this.magzpsci = data().deepCopy(fields()[86].schema(), other.magzpsci);
3000        fieldSetFlags()[86] = true;
3001      }
3002      if (isValidValue(fields()[87], other.magzpsciunc)) {
3003        this.magzpsciunc = data().deepCopy(fields()[87].schema(), other.magzpsciunc);
3004        fieldSetFlags()[87] = true;
3005      }
3006      if (isValidValue(fields()[88], other.magzpscirms)) {
3007        this.magzpscirms = data().deepCopy(fields()[88].schema(), other.magzpscirms);
3008        fieldSetFlags()[88] = true;
3009      }
3010      if (isValidValue(fields()[89], other.nmatches)) {
3011        this.nmatches = data().deepCopy(fields()[89].schema(), other.nmatches);
3012        fieldSetFlags()[89] = true;
3013      }
3014      if (isValidValue(fields()[90], other.clrcoeff)) {
3015        this.clrcoeff = data().deepCopy(fields()[90].schema(), other.clrcoeff);
3016        fieldSetFlags()[90] = true;
3017      }
3018      if (isValidValue(fields()[91], other.clrcounc)) {
3019        this.clrcounc = data().deepCopy(fields()[91].schema(), other.clrcounc);
3020        fieldSetFlags()[91] = true;
3021      }
3022      if (isValidValue(fields()[92], other.zpclrcov)) {
3023        this.zpclrcov = data().deepCopy(fields()[92].schema(), other.zpclrcov);
3024        fieldSetFlags()[92] = true;
3025      }
3026      if (isValidValue(fields()[93], other.zpmed)) {
3027        this.zpmed = data().deepCopy(fields()[93].schema(), other.zpmed);
3028        fieldSetFlags()[93] = true;
3029      }
3030      if (isValidValue(fields()[94], other.clrmed)) {
3031        this.clrmed = data().deepCopy(fields()[94].schema(), other.clrmed);
3032        fieldSetFlags()[94] = true;
3033      }
3034      if (isValidValue(fields()[95], other.clrrms)) {
3035        this.clrrms = data().deepCopy(fields()[95].schema(), other.clrrms);
3036        fieldSetFlags()[95] = true;
3037      }
3038      if (isValidValue(fields()[96], other.neargaia)) {
3039        this.neargaia = data().deepCopy(fields()[96].schema(), other.neargaia);
3040        fieldSetFlags()[96] = true;
3041      }
3042      if (isValidValue(fields()[97], other.neargaiabright)) {
3043        this.neargaiabright = data().deepCopy(fields()[97].schema(), other.neargaiabright);
3044        fieldSetFlags()[97] = true;
3045      }
3046      if (isValidValue(fields()[98], other.maggaia)) {
3047        this.maggaia = data().deepCopy(fields()[98].schema(), other.maggaia);
3048        fieldSetFlags()[98] = true;
3049      }
3050      if (isValidValue(fields()[99], other.maggaiabright)) {
3051        this.maggaiabright = data().deepCopy(fields()[99].schema(), other.maggaiabright);
3052        fieldSetFlags()[99] = true;
3053      }
3054      if (isValidValue(fields()[100], other.exptime)) {
3055        this.exptime = data().deepCopy(fields()[100].schema(), other.exptime);
3056        fieldSetFlags()[100] = true;
3057      }
3058    }
3059
3060    /**
3061     * Creates a Builder by copying an existing candidate instance
3062     * @param other The existing instance to copy.
3063     */
3064    private Builder(ztf.alert.candidate other) {
3065            super(SCHEMA$);
3066      if (isValidValue(fields()[0], other.jd)) {
3067        this.jd = data().deepCopy(fields()[0].schema(), other.jd);
3068        fieldSetFlags()[0] = true;
3069      }
3070      if (isValidValue(fields()[1], other.fid)) {
3071        this.fid = data().deepCopy(fields()[1].schema(), other.fid);
3072        fieldSetFlags()[1] = true;
3073      }
3074      if (isValidValue(fields()[2], other.pid)) {
3075        this.pid = data().deepCopy(fields()[2].schema(), other.pid);
3076        fieldSetFlags()[2] = true;
3077      }
3078      if (isValidValue(fields()[3], other.diffmaglim)) {
3079        this.diffmaglim = data().deepCopy(fields()[3].schema(), other.diffmaglim);
3080        fieldSetFlags()[3] = true;
3081      }
3082      if (isValidValue(fields()[4], other.pdiffimfilename)) {
3083        this.pdiffimfilename = data().deepCopy(fields()[4].schema(), other.pdiffimfilename);
3084        fieldSetFlags()[4] = true;
3085      }
3086      if (isValidValue(fields()[5], other.programpi)) {
3087        this.programpi = data().deepCopy(fields()[5].schema(), other.programpi);
3088        fieldSetFlags()[5] = true;
3089      }
3090      if (isValidValue(fields()[6], other.programid)) {
3091        this.programid = data().deepCopy(fields()[6].schema(), other.programid);
3092        fieldSetFlags()[6] = true;
3093      }
3094      if (isValidValue(fields()[7], other.candid)) {
3095        this.candid = data().deepCopy(fields()[7].schema(), other.candid);
3096        fieldSetFlags()[7] = true;
3097      }
3098      if (isValidValue(fields()[8], other.isdiffpos)) {
3099        this.isdiffpos = data().deepCopy(fields()[8].schema(), other.isdiffpos);
3100        fieldSetFlags()[8] = true;
3101      }
3102      if (isValidValue(fields()[9], other.tblid)) {
3103        this.tblid = data().deepCopy(fields()[9].schema(), other.tblid);
3104        fieldSetFlags()[9] = true;
3105      }
3106      if (isValidValue(fields()[10], other.nid)) {
3107        this.nid = data().deepCopy(fields()[10].schema(), other.nid);
3108        fieldSetFlags()[10] = true;
3109      }
3110      if (isValidValue(fields()[11], other.rcid)) {
3111        this.rcid = data().deepCopy(fields()[11].schema(), other.rcid);
3112        fieldSetFlags()[11] = true;
3113      }
3114      if (isValidValue(fields()[12], other.field)) {
3115        this.field = data().deepCopy(fields()[12].schema(), other.field);
3116        fieldSetFlags()[12] = true;
3117      }
3118      if (isValidValue(fields()[13], other.xpos)) {
3119        this.xpos = data().deepCopy(fields()[13].schema(), other.xpos);
3120        fieldSetFlags()[13] = true;
3121      }
3122      if (isValidValue(fields()[14], other.ypos)) {
3123        this.ypos = data().deepCopy(fields()[14].schema(), other.ypos);
3124        fieldSetFlags()[14] = true;
3125      }
3126      if (isValidValue(fields()[15], other.ra)) {
3127        this.ra = data().deepCopy(fields()[15].schema(), other.ra);
3128        fieldSetFlags()[15] = true;
3129      }
3130      if (isValidValue(fields()[16], other.dec)) {
3131        this.dec = data().deepCopy(fields()[16].schema(), other.dec);
3132        fieldSetFlags()[16] = true;
3133      }
3134      if (isValidValue(fields()[17], other.magpsf)) {
3135        this.magpsf = data().deepCopy(fields()[17].schema(), other.magpsf);
3136        fieldSetFlags()[17] = true;
3137      }
3138      if (isValidValue(fields()[18], other.sigmapsf)) {
3139        this.sigmapsf = data().deepCopy(fields()[18].schema(), other.sigmapsf);
3140        fieldSetFlags()[18] = true;
3141      }
3142      if (isValidValue(fields()[19], other.chipsf)) {
3143        this.chipsf = data().deepCopy(fields()[19].schema(), other.chipsf);
3144        fieldSetFlags()[19] = true;
3145      }
3146      if (isValidValue(fields()[20], other.magap)) {
3147        this.magap = data().deepCopy(fields()[20].schema(), other.magap);
3148        fieldSetFlags()[20] = true;
3149      }
3150      if (isValidValue(fields()[21], other.sigmagap)) {
3151        this.sigmagap = data().deepCopy(fields()[21].schema(), other.sigmagap);
3152        fieldSetFlags()[21] = true;
3153      }
3154      if (isValidValue(fields()[22], other.distnr)) {
3155        this.distnr = data().deepCopy(fields()[22].schema(), other.distnr);
3156        fieldSetFlags()[22] = true;
3157      }
3158      if (isValidValue(fields()[23], other.magnr)) {
3159        this.magnr = data().deepCopy(fields()[23].schema(), other.magnr);
3160        fieldSetFlags()[23] = true;
3161      }
3162      if (isValidValue(fields()[24], other.sigmagnr)) {
3163        this.sigmagnr = data().deepCopy(fields()[24].schema(), other.sigmagnr);
3164        fieldSetFlags()[24] = true;
3165      }
3166      if (isValidValue(fields()[25], other.chinr)) {
3167        this.chinr = data().deepCopy(fields()[25].schema(), other.chinr);
3168        fieldSetFlags()[25] = true;
3169      }
3170      if (isValidValue(fields()[26], other.sharpnr)) {
3171        this.sharpnr = data().deepCopy(fields()[26].schema(), other.sharpnr);
3172        fieldSetFlags()[26] = true;
3173      }
3174      if (isValidValue(fields()[27], other.sky)) {
3175        this.sky = data().deepCopy(fields()[27].schema(), other.sky);
3176        fieldSetFlags()[27] = true;
3177      }
3178      if (isValidValue(fields()[28], other.magdiff)) {
3179        this.magdiff = data().deepCopy(fields()[28].schema(), other.magdiff);
3180        fieldSetFlags()[28] = true;
3181      }
3182      if (isValidValue(fields()[29], other.fwhm)) {
3183        this.fwhm = data().deepCopy(fields()[29].schema(), other.fwhm);
3184        fieldSetFlags()[29] = true;
3185      }
3186      if (isValidValue(fields()[30], other.classtar)) {
3187        this.classtar = data().deepCopy(fields()[30].schema(), other.classtar);
3188        fieldSetFlags()[30] = true;
3189      }
3190      if (isValidValue(fields()[31], other.mindtoedge)) {
3191        this.mindtoedge = data().deepCopy(fields()[31].schema(), other.mindtoedge);
3192        fieldSetFlags()[31] = true;
3193      }
3194      if (isValidValue(fields()[32], other.magfromlim)) {
3195        this.magfromlim = data().deepCopy(fields()[32].schema(), other.magfromlim);
3196        fieldSetFlags()[32] = true;
3197      }
3198      if (isValidValue(fields()[33], other.seeratio)) {
3199        this.seeratio = data().deepCopy(fields()[33].schema(), other.seeratio);
3200        fieldSetFlags()[33] = true;
3201      }
3202      if (isValidValue(fields()[34], other.aimage)) {
3203        this.aimage = data().deepCopy(fields()[34].schema(), other.aimage);
3204        fieldSetFlags()[34] = true;
3205      }
3206      if (isValidValue(fields()[35], other.bimage)) {
3207        this.bimage = data().deepCopy(fields()[35].schema(), other.bimage);
3208        fieldSetFlags()[35] = true;
3209      }
3210      if (isValidValue(fields()[36], other.aimagerat)) {
3211        this.aimagerat = data().deepCopy(fields()[36].schema(), other.aimagerat);
3212        fieldSetFlags()[36] = true;
3213      }
3214      if (isValidValue(fields()[37], other.bimagerat)) {
3215        this.bimagerat = data().deepCopy(fields()[37].schema(), other.bimagerat);
3216        fieldSetFlags()[37] = true;
3217      }
3218      if (isValidValue(fields()[38], other.elong)) {
3219        this.elong = data().deepCopy(fields()[38].schema(), other.elong);
3220        fieldSetFlags()[38] = true;
3221      }
3222      if (isValidValue(fields()[39], other.nneg)) {
3223        this.nneg = data().deepCopy(fields()[39].schema(), other.nneg);
3224        fieldSetFlags()[39] = true;
3225      }
3226      if (isValidValue(fields()[40], other.nbad)) {
3227        this.nbad = data().deepCopy(fields()[40].schema(), other.nbad);
3228        fieldSetFlags()[40] = true;
3229      }
3230      if (isValidValue(fields()[41], other.rb)) {
3231        this.rb = data().deepCopy(fields()[41].schema(), other.rb);
3232        fieldSetFlags()[41] = true;
3233      }
3234      if (isValidValue(fields()[42], other.ssdistnr)) {
3235        this.ssdistnr = data().deepCopy(fields()[42].schema(), other.ssdistnr);
3236        fieldSetFlags()[42] = true;
3237      }
3238      if (isValidValue(fields()[43], other.ssmagnr)) {
3239        this.ssmagnr = data().deepCopy(fields()[43].schema(), other.ssmagnr);
3240        fieldSetFlags()[43] = true;
3241      }
3242      if (isValidValue(fields()[44], other.ssnamenr)) {
3243        this.ssnamenr = data().deepCopy(fields()[44].schema(), other.ssnamenr);
3244        fieldSetFlags()[44] = true;
3245      }
3246      if (isValidValue(fields()[45], other.sumrat)) {
3247        this.sumrat = data().deepCopy(fields()[45].schema(), other.sumrat);
3248        fieldSetFlags()[45] = true;
3249      }
3250      if (isValidValue(fields()[46], other.magapbig)) {
3251        this.magapbig = data().deepCopy(fields()[46].schema(), other.magapbig);
3252        fieldSetFlags()[46] = true;
3253      }
3254      if (isValidValue(fields()[47], other.sigmagapbig)) {
3255        this.sigmagapbig = data().deepCopy(fields()[47].schema(), other.sigmagapbig);
3256        fieldSetFlags()[47] = true;
3257      }
3258      if (isValidValue(fields()[48], other.ranr)) {
3259        this.ranr = data().deepCopy(fields()[48].schema(), other.ranr);
3260        fieldSetFlags()[48] = true;
3261      }
3262      if (isValidValue(fields()[49], other.decnr)) {
3263        this.decnr = data().deepCopy(fields()[49].schema(), other.decnr);
3264        fieldSetFlags()[49] = true;
3265      }
3266      if (isValidValue(fields()[50], other.sgmag1)) {
3267        this.sgmag1 = data().deepCopy(fields()[50].schema(), other.sgmag1);
3268        fieldSetFlags()[50] = true;
3269      }
3270      if (isValidValue(fields()[51], other.srmag1)) {
3271        this.srmag1 = data().deepCopy(fields()[51].schema(), other.srmag1);
3272        fieldSetFlags()[51] = true;
3273      }
3274      if (isValidValue(fields()[52], other.simag1)) {
3275        this.simag1 = data().deepCopy(fields()[52].schema(), other.simag1);
3276        fieldSetFlags()[52] = true;
3277      }
3278      if (isValidValue(fields()[53], other.szmag1)) {
3279        this.szmag1 = data().deepCopy(fields()[53].schema(), other.szmag1);
3280        fieldSetFlags()[53] = true;
3281      }
3282      if (isValidValue(fields()[54], other.sgscore1)) {
3283        this.sgscore1 = data().deepCopy(fields()[54].schema(), other.sgscore1);
3284        fieldSetFlags()[54] = true;
3285      }
3286      if (isValidValue(fields()[55], other.distpsnr1)) {
3287        this.distpsnr1 = data().deepCopy(fields()[55].schema(), other.distpsnr1);
3288        fieldSetFlags()[55] = true;
3289      }
3290      if (isValidValue(fields()[56], other.ndethist)) {
3291        this.ndethist = data().deepCopy(fields()[56].schema(), other.ndethist);
3292        fieldSetFlags()[56] = true;
3293      }
3294      if (isValidValue(fields()[57], other.ncovhist)) {
3295        this.ncovhist = data().deepCopy(fields()[57].schema(), other.ncovhist);
3296        fieldSetFlags()[57] = true;
3297      }
3298      if (isValidValue(fields()[58], other.jdstarthist)) {
3299        this.jdstarthist = data().deepCopy(fields()[58].schema(), other.jdstarthist);
3300        fieldSetFlags()[58] = true;
3301      }
3302      if (isValidValue(fields()[59], other.jdendhist)) {
3303        this.jdendhist = data().deepCopy(fields()[59].schema(), other.jdendhist);
3304        fieldSetFlags()[59] = true;
3305      }
3306      if (isValidValue(fields()[60], other.scorr)) {
3307        this.scorr = data().deepCopy(fields()[60].schema(), other.scorr);
3308        fieldSetFlags()[60] = true;
3309      }
3310      if (isValidValue(fields()[61], other.tooflag)) {
3311        this.tooflag = data().deepCopy(fields()[61].schema(), other.tooflag);
3312        fieldSetFlags()[61] = true;
3313      }
3314      if (isValidValue(fields()[62], other.objectidps1)) {
3315        this.objectidps1 = data().deepCopy(fields()[62].schema(), other.objectidps1);
3316        fieldSetFlags()[62] = true;
3317      }
3318      if (isValidValue(fields()[63], other.objectidps2)) {
3319        this.objectidps2 = data().deepCopy(fields()[63].schema(), other.objectidps2);
3320        fieldSetFlags()[63] = true;
3321      }
3322      if (isValidValue(fields()[64], other.sgmag2)) {
3323        this.sgmag2 = data().deepCopy(fields()[64].schema(), other.sgmag2);
3324        fieldSetFlags()[64] = true;
3325      }
3326      if (isValidValue(fields()[65], other.srmag2)) {
3327        this.srmag2 = data().deepCopy(fields()[65].schema(), other.srmag2);
3328        fieldSetFlags()[65] = true;
3329      }
3330      if (isValidValue(fields()[66], other.simag2)) {
3331        this.simag2 = data().deepCopy(fields()[66].schema(), other.simag2);
3332        fieldSetFlags()[66] = true;
3333      }
3334      if (isValidValue(fields()[67], other.szmag2)) {
3335        this.szmag2 = data().deepCopy(fields()[67].schema(), other.szmag2);
3336        fieldSetFlags()[67] = true;
3337      }
3338      if (isValidValue(fields()[68], other.sgscore2)) {
3339        this.sgscore2 = data().deepCopy(fields()[68].schema(), other.sgscore2);
3340        fieldSetFlags()[68] = true;
3341      }
3342      if (isValidValue(fields()[69], other.distpsnr2)) {
3343        this.distpsnr2 = data().deepCopy(fields()[69].schema(), other.distpsnr2);
3344        fieldSetFlags()[69] = true;
3345      }
3346      if (isValidValue(fields()[70], other.objectidps3)) {
3347        this.objectidps3 = data().deepCopy(fields()[70].schema(), other.objectidps3);
3348        fieldSetFlags()[70] = true;
3349      }
3350      if (isValidValue(fields()[71], other.sgmag3)) {
3351        this.sgmag3 = data().deepCopy(fields()[71].schema(), other.sgmag3);
3352        fieldSetFlags()[71] = true;
3353      }
3354      if (isValidValue(fields()[72], other.srmag3)) {
3355        this.srmag3 = data().deepCopy(fields()[72].schema(), other.srmag3);
3356        fieldSetFlags()[72] = true;
3357      }
3358      if (isValidValue(fields()[73], other.simag3)) {
3359        this.simag3 = data().deepCopy(fields()[73].schema(), other.simag3);
3360        fieldSetFlags()[73] = true;
3361      }
3362      if (isValidValue(fields()[74], other.szmag3)) {
3363        this.szmag3 = data().deepCopy(fields()[74].schema(), other.szmag3);
3364        fieldSetFlags()[74] = true;
3365      }
3366      if (isValidValue(fields()[75], other.sgscore3)) {
3367        this.sgscore3 = data().deepCopy(fields()[75].schema(), other.sgscore3);
3368        fieldSetFlags()[75] = true;
3369      }
3370      if (isValidValue(fields()[76], other.distpsnr3)) {
3371        this.distpsnr3 = data().deepCopy(fields()[76].schema(), other.distpsnr3);
3372        fieldSetFlags()[76] = true;
3373      }
3374      if (isValidValue(fields()[77], other.nmtchps)) {
3375        this.nmtchps = data().deepCopy(fields()[77].schema(), other.nmtchps);
3376        fieldSetFlags()[77] = true;
3377      }
3378      if (isValidValue(fields()[78], other.rfid)) {
3379        this.rfid = data().deepCopy(fields()[78].schema(), other.rfid);
3380        fieldSetFlags()[78] = true;
3381      }
3382      if (isValidValue(fields()[79], other.jdstartref)) {
3383        this.jdstartref = data().deepCopy(fields()[79].schema(), other.jdstartref);
3384        fieldSetFlags()[79] = true;
3385      }
3386      if (isValidValue(fields()[80], other.jdendref)) {
3387        this.jdendref = data().deepCopy(fields()[80].schema(), other.jdendref);
3388        fieldSetFlags()[80] = true;
3389      }
3390      if (isValidValue(fields()[81], other.nframesref)) {
3391        this.nframesref = data().deepCopy(fields()[81].schema(), other.nframesref);
3392        fieldSetFlags()[81] = true;
3393      }
3394      if (isValidValue(fields()[82], other.rbversion)) {
3395        this.rbversion = data().deepCopy(fields()[82].schema(), other.rbversion);
3396        fieldSetFlags()[82] = true;
3397      }
3398      if (isValidValue(fields()[83], other.dsnrms)) {
3399        this.dsnrms = data().deepCopy(fields()[83].schema(), other.dsnrms);
3400        fieldSetFlags()[83] = true;
3401      }
3402      if (isValidValue(fields()[84], other.ssnrms)) {
3403        this.ssnrms = data().deepCopy(fields()[84].schema(), other.ssnrms);
3404        fieldSetFlags()[84] = true;
3405      }
3406      if (isValidValue(fields()[85], other.dsdiff)) {
3407        this.dsdiff = data().deepCopy(fields()[85].schema(), other.dsdiff);
3408        fieldSetFlags()[85] = true;
3409      }
3410      if (isValidValue(fields()[86], other.magzpsci)) {
3411        this.magzpsci = data().deepCopy(fields()[86].schema(), other.magzpsci);
3412        fieldSetFlags()[86] = true;
3413      }
3414      if (isValidValue(fields()[87], other.magzpsciunc)) {
3415        this.magzpsciunc = data().deepCopy(fields()[87].schema(), other.magzpsciunc);
3416        fieldSetFlags()[87] = true;
3417      }
3418      if (isValidValue(fields()[88], other.magzpscirms)) {
3419        this.magzpscirms = data().deepCopy(fields()[88].schema(), other.magzpscirms);
3420        fieldSetFlags()[88] = true;
3421      }
3422      if (isValidValue(fields()[89], other.nmatches)) {
3423        this.nmatches = data().deepCopy(fields()[89].schema(), other.nmatches);
3424        fieldSetFlags()[89] = true;
3425      }
3426      if (isValidValue(fields()[90], other.clrcoeff)) {
3427        this.clrcoeff = data().deepCopy(fields()[90].schema(), other.clrcoeff);
3428        fieldSetFlags()[90] = true;
3429      }
3430      if (isValidValue(fields()[91], other.clrcounc)) {
3431        this.clrcounc = data().deepCopy(fields()[91].schema(), other.clrcounc);
3432        fieldSetFlags()[91] = true;
3433      }
3434      if (isValidValue(fields()[92], other.zpclrcov)) {
3435        this.zpclrcov = data().deepCopy(fields()[92].schema(), other.zpclrcov);
3436        fieldSetFlags()[92] = true;
3437      }
3438      if (isValidValue(fields()[93], other.zpmed)) {
3439        this.zpmed = data().deepCopy(fields()[93].schema(), other.zpmed);
3440        fieldSetFlags()[93] = true;
3441      }
3442      if (isValidValue(fields()[94], other.clrmed)) {
3443        this.clrmed = data().deepCopy(fields()[94].schema(), other.clrmed);
3444        fieldSetFlags()[94] = true;
3445      }
3446      if (isValidValue(fields()[95], other.clrrms)) {
3447        this.clrrms = data().deepCopy(fields()[95].schema(), other.clrrms);
3448        fieldSetFlags()[95] = true;
3449      }
3450      if (isValidValue(fields()[96], other.neargaia)) {
3451        this.neargaia = data().deepCopy(fields()[96].schema(), other.neargaia);
3452        fieldSetFlags()[96] = true;
3453      }
3454      if (isValidValue(fields()[97], other.neargaiabright)) {
3455        this.neargaiabright = data().deepCopy(fields()[97].schema(), other.neargaiabright);
3456        fieldSetFlags()[97] = true;
3457      }
3458      if (isValidValue(fields()[98], other.maggaia)) {
3459        this.maggaia = data().deepCopy(fields()[98].schema(), other.maggaia);
3460        fieldSetFlags()[98] = true;
3461      }
3462      if (isValidValue(fields()[99], other.maggaiabright)) {
3463        this.maggaiabright = data().deepCopy(fields()[99].schema(), other.maggaiabright);
3464        fieldSetFlags()[99] = true;
3465      }
3466      if (isValidValue(fields()[100], other.exptime)) {
3467        this.exptime = data().deepCopy(fields()[100].schema(), other.exptime);
3468        fieldSetFlags()[100] = true;
3469      }
3470    }
3471
3472    /**
3473      * Gets the value of the 'jd' field.
3474      * Observation Julian date at start of exposure [days]
3475      * @return The value.
3476      */
3477    public java.lang.Double getJd() {
3478      return jd;
3479    }
3480
3481    /**
3482      * Sets the value of the 'jd' field.
3483      * Observation Julian date at start of exposure [days]
3484      * @param value The value of 'jd'.
3485      * @return This builder.
3486      */
3487    public ztf.alert.candidate.Builder setJd(double value) {
3488      validate(fields()[0], value);
3489      this.jd = value;
3490      fieldSetFlags()[0] = true;
3491      return this;
3492    }
3493
3494    /**
3495      * Checks whether the 'jd' field has been set.
3496      * Observation Julian date at start of exposure [days]
3497      * @return True if the 'jd' field has been set, false otherwise.
3498      */
3499    public boolean hasJd() {
3500      return fieldSetFlags()[0];
3501    }
3502
3503
3504    /**
3505      * Clears the value of the 'jd' field.
3506      * Observation Julian date at start of exposure [days]
3507      * @return This builder.
3508      */
3509    public ztf.alert.candidate.Builder clearJd() {
3510      fieldSetFlags()[0] = false;
3511      return this;
3512    }
3513
3514    /**
3515      * Gets the value of the 'fid' field.
3516      * Filter ID (1=g; 2=R; 3=i)
3517      * @return The value.
3518      */
3519    public java.lang.Integer getFid() {
3520      return fid;
3521    }
3522
3523    /**
3524      * Sets the value of the 'fid' field.
3525      * Filter ID (1=g; 2=R; 3=i)
3526      * @param value The value of 'fid'.
3527      * @return This builder.
3528      */
3529    public ztf.alert.candidate.Builder setFid(int value) {
3530      validate(fields()[1], value);
3531      this.fid = value;
3532      fieldSetFlags()[1] = true;
3533      return this;
3534    }
3535
3536    /**
3537      * Checks whether the 'fid' field has been set.
3538      * Filter ID (1=g; 2=R; 3=i)
3539      * @return True if the 'fid' field has been set, false otherwise.
3540      */
3541    public boolean hasFid() {
3542      return fieldSetFlags()[1];
3543    }
3544
3545
3546    /**
3547      * Clears the value of the 'fid' field.
3548      * Filter ID (1=g; 2=R; 3=i)
3549      * @return This builder.
3550      */
3551    public ztf.alert.candidate.Builder clearFid() {
3552      fieldSetFlags()[1] = false;
3553      return this;
3554    }
3555
3556    /**
3557      * Gets the value of the 'pid' field.
3558      * Processing ID for science image to facilitate archive retrieval
3559      * @return The value.
3560      */
3561    public java.lang.Long getPid() {
3562      return pid;
3563    }
3564
3565    /**
3566      * Sets the value of the 'pid' field.
3567      * Processing ID for science image to facilitate archive retrieval
3568      * @param value The value of 'pid'.
3569      * @return This builder.
3570      */
3571    public ztf.alert.candidate.Builder setPid(long value) {
3572      validate(fields()[2], value);
3573      this.pid = value;
3574      fieldSetFlags()[2] = true;
3575      return this;
3576    }
3577
3578    /**
3579      * Checks whether the 'pid' field has been set.
3580      * Processing ID for science image to facilitate archive retrieval
3581      * @return True if the 'pid' field has been set, false otherwise.
3582      */
3583    public boolean hasPid() {
3584      return fieldSetFlags()[2];
3585    }
3586
3587
3588    /**
3589      * Clears the value of the 'pid' field.
3590      * Processing ID for science image to facilitate archive retrieval
3591      * @return This builder.
3592      */
3593    public ztf.alert.candidate.Builder clearPid() {
3594      fieldSetFlags()[2] = false;
3595      return this;
3596    }
3597
3598    /**
3599      * Gets the value of the 'diffmaglim' field.
3600      * Expected 5-sigma mag limit in difference image based on global noise estimate [mag]
3601      * @return The value.
3602      */
3603    public java.lang.Float getDiffmaglim() {
3604      return diffmaglim;
3605    }
3606
3607    /**
3608      * Sets the value of the 'diffmaglim' field.
3609      * Expected 5-sigma mag limit in difference image based on global noise estimate [mag]
3610      * @param value The value of 'diffmaglim'.
3611      * @return This builder.
3612      */
3613    public ztf.alert.candidate.Builder setDiffmaglim(java.lang.Float value) {
3614      validate(fields()[3], value);
3615      this.diffmaglim = value;
3616      fieldSetFlags()[3] = true;
3617      return this;
3618    }
3619
3620    /**
3621      * Checks whether the 'diffmaglim' field has been set.
3622      * Expected 5-sigma mag limit in difference image based on global noise estimate [mag]
3623      * @return True if the 'diffmaglim' field has been set, false otherwise.
3624      */
3625    public boolean hasDiffmaglim() {
3626      return fieldSetFlags()[3];
3627    }
3628
3629
3630    /**
3631      * Clears the value of the 'diffmaglim' field.
3632      * Expected 5-sigma mag limit in difference image based on global noise estimate [mag]
3633      * @return This builder.
3634      */
3635    public ztf.alert.candidate.Builder clearDiffmaglim() {
3636      diffmaglim = null;
3637      fieldSetFlags()[3] = false;
3638      return this;
3639    }
3640
3641    /**
3642      * Gets the value of the 'pdiffimfilename' field.
3643      * filename of positive (sci minus ref) difference image
3644      * @return The value.
3645      */
3646    public java.lang.CharSequence getPdiffimfilename() {
3647      return pdiffimfilename;
3648    }
3649
3650    /**
3651      * Sets the value of the 'pdiffimfilename' field.
3652      * filename of positive (sci minus ref) difference image
3653      * @param value The value of 'pdiffimfilename'.
3654      * @return This builder.
3655      */
3656    public ztf.alert.candidate.Builder setPdiffimfilename(java.lang.CharSequence value) {
3657      validate(fields()[4], value);
3658      this.pdiffimfilename = value;
3659      fieldSetFlags()[4] = true;
3660      return this;
3661    }
3662
3663    /**
3664      * Checks whether the 'pdiffimfilename' field has been set.
3665      * filename of positive (sci minus ref) difference image
3666      * @return True if the 'pdiffimfilename' field has been set, false otherwise.
3667      */
3668    public boolean hasPdiffimfilename() {
3669      return fieldSetFlags()[4];
3670    }
3671
3672
3673    /**
3674      * Clears the value of the 'pdiffimfilename' field.
3675      * filename of positive (sci minus ref) difference image
3676      * @return This builder.
3677      */
3678    public ztf.alert.candidate.Builder clearPdiffimfilename() {
3679      pdiffimfilename = null;
3680      fieldSetFlags()[4] = false;
3681      return this;
3682    }
3683
3684    /**
3685      * Gets the value of the 'programpi' field.
3686      * Principal investigator attached to program ID
3687      * @return The value.
3688      */
3689    public java.lang.CharSequence getProgrampi() {
3690      return programpi;
3691    }
3692
3693    /**
3694      * Sets the value of the 'programpi' field.
3695      * Principal investigator attached to program ID
3696      * @param value The value of 'programpi'.
3697      * @return This builder.
3698      */
3699    public ztf.alert.candidate.Builder setProgrampi(java.lang.CharSequence value) {
3700      validate(fields()[5], value);
3701      this.programpi = value;
3702      fieldSetFlags()[5] = true;
3703      return this;
3704    }
3705
3706    /**
3707      * Checks whether the 'programpi' field has been set.
3708      * Principal investigator attached to program ID
3709      * @return True if the 'programpi' field has been set, false otherwise.
3710      */
3711    public boolean hasProgrampi() {
3712      return fieldSetFlags()[5];
3713    }
3714
3715
3716    /**
3717      * Clears the value of the 'programpi' field.
3718      * Principal investigator attached to program ID
3719      * @return This builder.
3720      */
3721    public ztf.alert.candidate.Builder clearProgrampi() {
3722      programpi = null;
3723      fieldSetFlags()[5] = false;
3724      return this;
3725    }
3726
3727    /**
3728      * Gets the value of the 'programid' field.
3729      * Program ID: encodes either public, collab, or caltech mode
3730      * @return The value.
3731      */
3732    public java.lang.Integer getProgramid() {
3733      return programid;
3734    }
3735
3736    /**
3737      * Sets the value of the 'programid' field.
3738      * Program ID: encodes either public, collab, or caltech mode
3739      * @param value The value of 'programid'.
3740      * @return This builder.
3741      */
3742    public ztf.alert.candidate.Builder setProgramid(int value) {
3743      validate(fields()[6], value);
3744      this.programid = value;
3745      fieldSetFlags()[6] = true;
3746      return this;
3747    }
3748
3749    /**
3750      * Checks whether the 'programid' field has been set.
3751      * Program ID: encodes either public, collab, or caltech mode
3752      * @return True if the 'programid' field has been set, false otherwise.
3753      */
3754    public boolean hasProgramid() {
3755      return fieldSetFlags()[6];
3756    }
3757
3758
3759    /**
3760      * Clears the value of the 'programid' field.
3761      * Program ID: encodes either public, collab, or caltech mode
3762      * @return This builder.
3763      */
3764    public ztf.alert.candidate.Builder clearProgramid() {
3765      fieldSetFlags()[6] = false;
3766      return this;
3767    }
3768
3769    /**
3770      * Gets the value of the 'candid' field.
3771      * Candidate ID from operations DB
3772      * @return The value.
3773      */
3774    public java.lang.Long getCandid() {
3775      return candid;
3776    }
3777
3778    /**
3779      * Sets the value of the 'candid' field.
3780      * Candidate ID from operations DB
3781      * @param value The value of 'candid'.
3782      * @return This builder.
3783      */
3784    public ztf.alert.candidate.Builder setCandid(long value) {
3785      validate(fields()[7], value);
3786      this.candid = value;
3787      fieldSetFlags()[7] = true;
3788      return this;
3789    }
3790
3791    /**
3792      * Checks whether the 'candid' field has been set.
3793      * Candidate ID from operations DB
3794      * @return True if the 'candid' field has been set, false otherwise.
3795      */
3796    public boolean hasCandid() {
3797      return fieldSetFlags()[7];
3798    }
3799
3800
3801    /**
3802      * Clears the value of the 'candid' field.
3803      * Candidate ID from operations DB
3804      * @return This builder.
3805      */
3806    public ztf.alert.candidate.Builder clearCandid() {
3807      fieldSetFlags()[7] = false;
3808      return this;
3809    }
3810
3811    /**
3812      * Gets the value of the 'isdiffpos' field.
3813      * t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction
3814      * @return The value.
3815      */
3816    public java.lang.CharSequence getIsdiffpos() {
3817      return isdiffpos;
3818    }
3819
3820    /**
3821      * Sets the value of the 'isdiffpos' field.
3822      * t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction
3823      * @param value The value of 'isdiffpos'.
3824      * @return This builder.
3825      */
3826    public ztf.alert.candidate.Builder setIsdiffpos(java.lang.CharSequence value) {
3827      validate(fields()[8], value);
3828      this.isdiffpos = value;
3829      fieldSetFlags()[8] = true;
3830      return this;
3831    }
3832
3833    /**
3834      * Checks whether the 'isdiffpos' field has been set.
3835      * t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction
3836      * @return True if the 'isdiffpos' field has been set, false otherwise.
3837      */
3838    public boolean hasIsdiffpos() {
3839      return fieldSetFlags()[8];
3840    }
3841
3842
3843    /**
3844      * Clears the value of the 'isdiffpos' field.
3845      * t or 1 => candidate is from positive (sci minus ref) subtraction; f or 0 => candidate is from negative (ref minus sci) subtraction
3846      * @return This builder.
3847      */
3848    public ztf.alert.candidate.Builder clearIsdiffpos() {
3849      isdiffpos = null;
3850      fieldSetFlags()[8] = false;
3851      return this;
3852    }
3853
3854    /**
3855      * Gets the value of the 'tblid' field.
3856      * Internal pipeline table extraction ID
3857      * @return The value.
3858      */
3859    public java.lang.Long getTblid() {
3860      return tblid;
3861    }
3862
3863    /**
3864      * Sets the value of the 'tblid' field.
3865      * Internal pipeline table extraction ID
3866      * @param value The value of 'tblid'.
3867      * @return This builder.
3868      */
3869    public ztf.alert.candidate.Builder setTblid(java.lang.Long value) {
3870      validate(fields()[9], value);
3871      this.tblid = value;
3872      fieldSetFlags()[9] = true;
3873      return this;
3874    }
3875
3876    /**
3877      * Checks whether the 'tblid' field has been set.
3878      * Internal pipeline table extraction ID
3879      * @return True if the 'tblid' field has been set, false otherwise.
3880      */
3881    public boolean hasTblid() {
3882      return fieldSetFlags()[9];
3883    }
3884
3885
3886    /**
3887      * Clears the value of the 'tblid' field.
3888      * Internal pipeline table extraction ID
3889      * @return This builder.
3890      */
3891    public ztf.alert.candidate.Builder clearTblid() {
3892      tblid = null;
3893      fieldSetFlags()[9] = false;
3894      return this;
3895    }
3896
3897    /**
3898      * Gets the value of the 'nid' field.
3899      * Night ID
3900      * @return The value.
3901      */
3902    public java.lang.Integer getNid() {
3903      return nid;
3904    }
3905
3906    /**
3907      * Sets the value of the 'nid' field.
3908      * Night ID
3909      * @param value The value of 'nid'.
3910      * @return This builder.
3911      */
3912    public ztf.alert.candidate.Builder setNid(java.lang.Integer value) {
3913      validate(fields()[10], value);
3914      this.nid = value;
3915      fieldSetFlags()[10] = true;
3916      return this;
3917    }
3918
3919    /**
3920      * Checks whether the 'nid' field has been set.
3921      * Night ID
3922      * @return True if the 'nid' field has been set, false otherwise.
3923      */
3924    public boolean hasNid() {
3925      return fieldSetFlags()[10];
3926    }
3927
3928
3929    /**
3930      * Clears the value of the 'nid' field.
3931      * Night ID
3932      * @return This builder.
3933      */
3934    public ztf.alert.candidate.Builder clearNid() {
3935      nid = null;
3936      fieldSetFlags()[10] = false;
3937      return this;
3938    }
3939
3940    /**
3941      * Gets the value of the 'rcid' field.
3942      * Readout channel ID [00 .. 63]
3943      * @return The value.
3944      */
3945    public java.lang.Integer getRcid() {
3946      return rcid;
3947    }
3948
3949    /**
3950      * Sets the value of the 'rcid' field.
3951      * Readout channel ID [00 .. 63]
3952      * @param value The value of 'rcid'.
3953      * @return This builder.
3954      */
3955    public ztf.alert.candidate.Builder setRcid(java.lang.Integer value) {
3956      validate(fields()[11], value);
3957      this.rcid = value;
3958      fieldSetFlags()[11] = true;
3959      return this;
3960    }
3961
3962    /**
3963      * Checks whether the 'rcid' field has been set.
3964      * Readout channel ID [00 .. 63]
3965      * @return True if the 'rcid' field has been set, false otherwise.
3966      */
3967    public boolean hasRcid() {
3968      return fieldSetFlags()[11];
3969    }
3970
3971
3972    /**
3973      * Clears the value of the 'rcid' field.
3974      * Readout channel ID [00 .. 63]
3975      * @return This builder.
3976      */
3977    public ztf.alert.candidate.Builder clearRcid() {
3978      rcid = null;
3979      fieldSetFlags()[11] = false;
3980      return this;
3981    }
3982
3983    /**
3984      * Gets the value of the 'field' field.
3985      * ZTF field ID
3986      * @return The value.
3987      */
3988    public java.lang.Integer getField() {
3989      return field;
3990    }
3991
3992    /**
3993      * Sets the value of the 'field' field.
3994      * ZTF field ID
3995      * @param value The value of 'field'.
3996      * @return This builder.
3997      */
3998    public ztf.alert.candidate.Builder setField(java.lang.Integer value) {
3999      validate(fields()[12], value);
4000      this.field = value;
4001      fieldSetFlags()[12] = true;
4002      return this;
4003    }
4004
4005    /**
4006      * Checks whether the 'field' field has been set.
4007      * ZTF field ID
4008      * @return True if the 'field' field has been set, false otherwise.
4009      */
4010    public boolean hasField() {
4011      return fieldSetFlags()[12];
4012    }
4013
4014
4015    /**
4016      * Clears the value of the 'field' field.
4017      * ZTF field ID
4018      * @return This builder.
4019      */
4020    public ztf.alert.candidate.Builder clearField() {
4021      field = null;
4022      fieldSetFlags()[12] = false;
4023      return this;
4024    }
4025
4026    /**
4027      * Gets the value of the 'xpos' field.
4028      * x-image position of candidate [pixels]
4029      * @return The value.
4030      */
4031    public java.lang.Float getXpos() {
4032      return xpos;
4033    }
4034
4035    /**
4036      * Sets the value of the 'xpos' field.
4037      * x-image position of candidate [pixels]
4038      * @param value The value of 'xpos'.
4039      * @return This builder.
4040      */
4041    public ztf.alert.candidate.Builder setXpos(java.lang.Float value) {
4042      validate(fields()[13], value);
4043      this.xpos = value;
4044      fieldSetFlags()[13] = true;
4045      return this;
4046    }
4047
4048    /**
4049      * Checks whether the 'xpos' field has been set.
4050      * x-image position of candidate [pixels]
4051      * @return True if the 'xpos' field has been set, false otherwise.
4052      */
4053    public boolean hasXpos() {
4054      return fieldSetFlags()[13];
4055    }
4056
4057
4058    /**
4059      * Clears the value of the 'xpos' field.
4060      * x-image position of candidate [pixels]
4061      * @return This builder.
4062      */
4063    public ztf.alert.candidate.Builder clearXpos() {
4064      xpos = null;
4065      fieldSetFlags()[13] = false;
4066      return this;
4067    }
4068
4069    /**
4070      * Gets the value of the 'ypos' field.
4071      * y-image position of candidate [pixels]
4072      * @return The value.
4073      */
4074    public java.lang.Float getYpos() {
4075      return ypos;
4076    }
4077
4078    /**
4079      * Sets the value of the 'ypos' field.
4080      * y-image position of candidate [pixels]
4081      * @param value The value of 'ypos'.
4082      * @return This builder.
4083      */
4084    public ztf.alert.candidate.Builder setYpos(java.lang.Float value) {
4085      validate(fields()[14], value);
4086      this.ypos = value;
4087      fieldSetFlags()[14] = true;
4088      return this;
4089    }
4090
4091    /**
4092      * Checks whether the 'ypos' field has been set.
4093      * y-image position of candidate [pixels]
4094      * @return True if the 'ypos' field has been set, false otherwise.
4095      */
4096    public boolean hasYpos() {
4097      return fieldSetFlags()[14];
4098    }
4099
4100
4101    /**
4102      * Clears the value of the 'ypos' field.
4103      * y-image position of candidate [pixels]
4104      * @return This builder.
4105      */
4106    public ztf.alert.candidate.Builder clearYpos() {
4107      ypos = null;
4108      fieldSetFlags()[14] = false;
4109      return this;
4110    }
4111
4112    /**
4113      * Gets the value of the 'ra' field.
4114      * Right Ascension of candidate; J2000 [deg]
4115      * @return The value.
4116      */
4117    public java.lang.Double getRa() {
4118      return ra;
4119    }
4120
4121    /**
4122      * Sets the value of the 'ra' field.
4123      * Right Ascension of candidate; J2000 [deg]
4124      * @param value The value of 'ra'.
4125      * @return This builder.
4126      */
4127    public ztf.alert.candidate.Builder setRa(double value) {
4128      validate(fields()[15], value);
4129      this.ra = value;
4130      fieldSetFlags()[15] = true;
4131      return this;
4132    }
4133
4134    /**
4135      * Checks whether the 'ra' field has been set.
4136      * Right Ascension of candidate; J2000 [deg]
4137      * @return True if the 'ra' field has been set, false otherwise.
4138      */
4139    public boolean hasRa() {
4140      return fieldSetFlags()[15];
4141    }
4142
4143
4144    /**
4145      * Clears the value of the 'ra' field.
4146      * Right Ascension of candidate; J2000 [deg]
4147      * @return This builder.
4148      */
4149    public ztf.alert.candidate.Builder clearRa() {
4150      fieldSetFlags()[15] = false;
4151      return this;
4152    }
4153
4154    /**
4155      * Gets the value of the 'dec' field.
4156      * Declination of candidate; J2000 [deg]
4157      * @return The value.
4158      */
4159    public java.lang.Double getDec() {
4160      return dec;
4161    }
4162
4163    /**
4164      * Sets the value of the 'dec' field.
4165      * Declination of candidate; J2000 [deg]
4166      * @param value The value of 'dec'.
4167      * @return This builder.
4168      */
4169    public ztf.alert.candidate.Builder setDec(double value) {
4170      validate(fields()[16], value);
4171      this.dec = value;
4172      fieldSetFlags()[16] = true;
4173      return this;
4174    }
4175
4176    /**
4177      * Checks whether the 'dec' field has been set.
4178      * Declination of candidate; J2000 [deg]
4179      * @return True if the 'dec' field has been set, false otherwise.
4180      */
4181    public boolean hasDec() {
4182      return fieldSetFlags()[16];
4183    }
4184
4185
4186    /**
4187      * Clears the value of the 'dec' field.
4188      * Declination of candidate; J2000 [deg]
4189      * @return This builder.
4190      */
4191    public ztf.alert.candidate.Builder clearDec() {
4192      fieldSetFlags()[16] = false;
4193      return this;
4194    }
4195
4196    /**
4197      * Gets the value of the 'magpsf' field.
4198      * Magnitude from PSF-fit photometry [mag]
4199      * @return The value.
4200      */
4201    public java.lang.Float getMagpsf() {
4202      return magpsf;
4203    }
4204
4205    /**
4206      * Sets the value of the 'magpsf' field.
4207      * Magnitude from PSF-fit photometry [mag]
4208      * @param value The value of 'magpsf'.
4209      * @return This builder.
4210      */
4211    public ztf.alert.candidate.Builder setMagpsf(float value) {
4212      validate(fields()[17], value);
4213      this.magpsf = value;
4214      fieldSetFlags()[17] = true;
4215      return this;
4216    }
4217
4218    /**
4219      * Checks whether the 'magpsf' field has been set.
4220      * Magnitude from PSF-fit photometry [mag]
4221      * @return True if the 'magpsf' field has been set, false otherwise.
4222      */
4223    public boolean hasMagpsf() {
4224      return fieldSetFlags()[17];
4225    }
4226
4227
4228    /**
4229      * Clears the value of the 'magpsf' field.
4230      * Magnitude from PSF-fit photometry [mag]
4231      * @return This builder.
4232      */
4233    public ztf.alert.candidate.Builder clearMagpsf() {
4234      fieldSetFlags()[17] = false;
4235      return this;
4236    }
4237
4238    /**
4239      * Gets the value of the 'sigmapsf' field.
4240      * 1-sigma uncertainty in magpsf [mag]
4241      * @return The value.
4242      */
4243    public java.lang.Float getSigmapsf() {
4244      return sigmapsf;
4245    }
4246
4247    /**
4248      * Sets the value of the 'sigmapsf' field.
4249      * 1-sigma uncertainty in magpsf [mag]
4250      * @param value The value of 'sigmapsf'.
4251      * @return This builder.
4252      */
4253    public ztf.alert.candidate.Builder setSigmapsf(float value) {
4254      validate(fields()[18], value);
4255      this.sigmapsf = value;
4256      fieldSetFlags()[18] = true;
4257      return this;
4258    }
4259
4260    /**
4261      * Checks whether the 'sigmapsf' field has been set.
4262      * 1-sigma uncertainty in magpsf [mag]
4263      * @return True if the 'sigmapsf' field has been set, false otherwise.
4264      */
4265    public boolean hasSigmapsf() {
4266      return fieldSetFlags()[18];
4267    }
4268
4269
4270    /**
4271      * Clears the value of the 'sigmapsf' field.
4272      * 1-sigma uncertainty in magpsf [mag]
4273      * @return This builder.
4274      */
4275    public ztf.alert.candidate.Builder clearSigmapsf() {
4276      fieldSetFlags()[18] = false;
4277      return this;
4278    }
4279
4280    /**
4281      * Gets the value of the 'chipsf' field.
4282      * Reduced chi-square for PSF-fit
4283      * @return The value.
4284      */
4285    public java.lang.Float getChipsf() {
4286      return chipsf;
4287    }
4288
4289    /**
4290      * Sets the value of the 'chipsf' field.
4291      * Reduced chi-square for PSF-fit
4292      * @param value The value of 'chipsf'.
4293      * @return This builder.
4294      */
4295    public ztf.alert.candidate.Builder setChipsf(java.lang.Float value) {
4296      validate(fields()[19], value);
4297      this.chipsf = value;
4298      fieldSetFlags()[19] = true;
4299      return this;
4300    }
4301
4302    /**
4303      * Checks whether the 'chipsf' field has been set.
4304      * Reduced chi-square for PSF-fit
4305      * @return True if the 'chipsf' field has been set, false otherwise.
4306      */
4307    public boolean hasChipsf() {
4308      return fieldSetFlags()[19];
4309    }
4310
4311
4312    /**
4313      * Clears the value of the 'chipsf' field.
4314      * Reduced chi-square for PSF-fit
4315      * @return This builder.
4316      */
4317    public ztf.alert.candidate.Builder clearChipsf() {
4318      chipsf = null;
4319      fieldSetFlags()[19] = false;
4320      return this;
4321    }
4322
4323    /**
4324      * Gets the value of the 'magap' field.
4325      * Aperture mag using 14 pixel diameter aperture [mag]
4326      * @return The value.
4327      */
4328    public java.lang.Float getMagap() {
4329      return magap;
4330    }
4331
4332    /**
4333      * Sets the value of the 'magap' field.
4334      * Aperture mag using 14 pixel diameter aperture [mag]
4335      * @param value The value of 'magap'.
4336      * @return This builder.
4337      */
4338    public ztf.alert.candidate.Builder setMagap(java.lang.Float value) {
4339      validate(fields()[20], value);
4340      this.magap = value;
4341      fieldSetFlags()[20] = true;
4342      return this;
4343    }
4344
4345    /**
4346      * Checks whether the 'magap' field has been set.
4347      * Aperture mag using 14 pixel diameter aperture [mag]
4348      * @return True if the 'magap' field has been set, false otherwise.
4349      */
4350    public boolean hasMagap() {
4351      return fieldSetFlags()[20];
4352    }
4353
4354
4355    /**
4356      * Clears the value of the 'magap' field.
4357      * Aperture mag using 14 pixel diameter aperture [mag]
4358      * @return This builder.
4359      */
4360    public ztf.alert.candidate.Builder clearMagap() {
4361      magap = null;
4362      fieldSetFlags()[20] = false;
4363      return this;
4364    }
4365
4366    /**
4367      * Gets the value of the 'sigmagap' field.
4368      * 1-sigma uncertainty in magap [mag]
4369      * @return The value.
4370      */
4371    public java.lang.Float getSigmagap() {
4372      return sigmagap;
4373    }
4374
4375    /**
4376      * Sets the value of the 'sigmagap' field.
4377      * 1-sigma uncertainty in magap [mag]
4378      * @param value The value of 'sigmagap'.
4379      * @return This builder.
4380      */
4381    public ztf.alert.candidate.Builder setSigmagap(java.lang.Float value) {
4382      validate(fields()[21], value);
4383      this.sigmagap = value;
4384      fieldSetFlags()[21] = true;
4385      return this;
4386    }
4387
4388    /**
4389      * Checks whether the 'sigmagap' field has been set.
4390      * 1-sigma uncertainty in magap [mag]
4391      * @return True if the 'sigmagap' field has been set, false otherwise.
4392      */
4393    public boolean hasSigmagap() {
4394      return fieldSetFlags()[21];
4395    }
4396
4397
4398    /**
4399      * Clears the value of the 'sigmagap' field.
4400      * 1-sigma uncertainty in magap [mag]
4401      * @return This builder.
4402      */
4403    public ztf.alert.candidate.Builder clearSigmagap() {
4404      sigmagap = null;
4405      fieldSetFlags()[21] = false;
4406      return this;
4407    }
4408
4409    /**
4410      * Gets the value of the 'distnr' field.
4411      * distance to nearest source in reference image PSF-catalog [pixels]
4412      * @return The value.
4413      */
4414    public java.lang.Float getDistnr() {
4415      return distnr;
4416    }
4417
4418    /**
4419      * Sets the value of the 'distnr' field.
4420      * distance to nearest source in reference image PSF-catalog [pixels]
4421      * @param value The value of 'distnr'.
4422      * @return This builder.
4423      */
4424    public ztf.alert.candidate.Builder setDistnr(java.lang.Float value) {
4425      validate(fields()[22], value);
4426      this.distnr = value;
4427      fieldSetFlags()[22] = true;
4428      return this;
4429    }
4430
4431    /**
4432      * Checks whether the 'distnr' field has been set.
4433      * distance to nearest source in reference image PSF-catalog [pixels]
4434      * @return True if the 'distnr' field has been set, false otherwise.
4435      */
4436    public boolean hasDistnr() {
4437      return fieldSetFlags()[22];
4438    }
4439
4440
4441    /**
4442      * Clears the value of the 'distnr' field.
4443      * distance to nearest source in reference image PSF-catalog [pixels]
4444      * @return This builder.
4445      */
4446    public ztf.alert.candidate.Builder clearDistnr() {
4447      distnr = null;
4448      fieldSetFlags()[22] = false;
4449      return this;
4450    }
4451
4452    /**
4453      * Gets the value of the 'magnr' field.
4454      * magnitude of nearest source in reference image PSF-catalog [mag]
4455      * @return The value.
4456      */
4457    public java.lang.Float getMagnr() {
4458      return magnr;
4459    }
4460
4461    /**
4462      * Sets the value of the 'magnr' field.
4463      * magnitude of nearest source in reference image PSF-catalog [mag]
4464      * @param value The value of 'magnr'.
4465      * @return This builder.
4466      */
4467    public ztf.alert.candidate.Builder setMagnr(java.lang.Float value) {
4468      validate(fields()[23], value);
4469      this.magnr = value;
4470      fieldSetFlags()[23] = true;
4471      return this;
4472    }
4473
4474    /**
4475      * Checks whether the 'magnr' field has been set.
4476      * magnitude of nearest source in reference image PSF-catalog [mag]
4477      * @return True if the 'magnr' field has been set, false otherwise.
4478      */
4479    public boolean hasMagnr() {
4480      return fieldSetFlags()[23];
4481    }
4482
4483
4484    /**
4485      * Clears the value of the 'magnr' field.
4486      * magnitude of nearest source in reference image PSF-catalog [mag]
4487      * @return This builder.
4488      */
4489    public ztf.alert.candidate.Builder clearMagnr() {
4490      magnr = null;
4491      fieldSetFlags()[23] = false;
4492      return this;
4493    }
4494
4495    /**
4496      * Gets the value of the 'sigmagnr' field.
4497      * 1-sigma uncertainty in magnr [mag]
4498      * @return The value.
4499      */
4500    public java.lang.Float getSigmagnr() {
4501      return sigmagnr;
4502    }
4503
4504    /**
4505      * Sets the value of the 'sigmagnr' field.
4506      * 1-sigma uncertainty in magnr [mag]
4507      * @param value The value of 'sigmagnr'.
4508      * @return This builder.
4509      */
4510    public ztf.alert.candidate.Builder setSigmagnr(java.lang.Float value) {
4511      validate(fields()[24], value);
4512      this.sigmagnr = value;
4513      fieldSetFlags()[24] = true;
4514      return this;
4515    }
4516
4517    /**
4518      * Checks whether the 'sigmagnr' field has been set.
4519      * 1-sigma uncertainty in magnr [mag]
4520      * @return True if the 'sigmagnr' field has been set, false otherwise.
4521      */
4522    public boolean hasSigmagnr() {
4523      return fieldSetFlags()[24];
4524    }
4525
4526
4527    /**
4528      * Clears the value of the 'sigmagnr' field.
4529      * 1-sigma uncertainty in magnr [mag]
4530      * @return This builder.
4531      */
4532    public ztf.alert.candidate.Builder clearSigmagnr() {
4533      sigmagnr = null;
4534      fieldSetFlags()[24] = false;
4535      return this;
4536    }
4537
4538    /**
4539      * Gets the value of the 'chinr' field.
4540      * DAOPhot chi parameter of nearest source in reference image PSF-catalog
4541      * @return The value.
4542      */
4543    public java.lang.Float getChinr() {
4544      return chinr;
4545    }
4546
4547    /**
4548      * Sets the value of the 'chinr' field.
4549      * DAOPhot chi parameter of nearest source in reference image PSF-catalog
4550      * @param value The value of 'chinr'.
4551      * @return This builder.
4552      */
4553    public ztf.alert.candidate.Builder setChinr(java.lang.Float value) {
4554      validate(fields()[25], value);
4555      this.chinr = value;
4556      fieldSetFlags()[25] = true;
4557      return this;
4558    }
4559
4560    /**
4561      * Checks whether the 'chinr' field has been set.
4562      * DAOPhot chi parameter of nearest source in reference image PSF-catalog
4563      * @return True if the 'chinr' field has been set, false otherwise.
4564      */
4565    public boolean hasChinr() {
4566      return fieldSetFlags()[25];
4567    }
4568
4569
4570    /**
4571      * Clears the value of the 'chinr' field.
4572      * DAOPhot chi parameter of nearest source in reference image PSF-catalog
4573      * @return This builder.
4574      */
4575    public ztf.alert.candidate.Builder clearChinr() {
4576      chinr = null;
4577      fieldSetFlags()[25] = false;
4578      return this;
4579    }
4580
4581    /**
4582      * Gets the value of the 'sharpnr' field.
4583      * DAOPhot sharp parameter of nearest source in reference image PSF-catalog
4584      * @return The value.
4585      */
4586    public java.lang.Float getSharpnr() {
4587      return sharpnr;
4588    }
4589
4590    /**
4591      * Sets the value of the 'sharpnr' field.
4592      * DAOPhot sharp parameter of nearest source in reference image PSF-catalog
4593      * @param value The value of 'sharpnr'.
4594      * @return This builder.
4595      */
4596    public ztf.alert.candidate.Builder setSharpnr(java.lang.Float value) {
4597      validate(fields()[26], value);
4598      this.sharpnr = value;
4599      fieldSetFlags()[26] = true;
4600      return this;
4601    }
4602
4603    /**
4604      * Checks whether the 'sharpnr' field has been set.
4605      * DAOPhot sharp parameter of nearest source in reference image PSF-catalog
4606      * @return True if the 'sharpnr' field has been set, false otherwise.
4607      */
4608    public boolean hasSharpnr() {
4609      return fieldSetFlags()[26];
4610    }
4611
4612
4613    /**
4614      * Clears the value of the 'sharpnr' field.
4615      * DAOPhot sharp parameter of nearest source in reference image PSF-catalog
4616      * @return This builder.
4617      */
4618    public ztf.alert.candidate.Builder clearSharpnr() {
4619      sharpnr = null;
4620      fieldSetFlags()[26] = false;
4621      return this;
4622    }
4623
4624    /**
4625      * Gets the value of the 'sky' field.
4626      * Local sky background estimate [DN]
4627      * @return The value.
4628      */
4629    public java.lang.Float getSky() {
4630      return sky;
4631    }
4632
4633    /**
4634      * Sets the value of the 'sky' field.
4635      * Local sky background estimate [DN]
4636      * @param value The value of 'sky'.
4637      * @return This builder.
4638      */
4639    public ztf.alert.candidate.Builder setSky(java.lang.Float value) {
4640      validate(fields()[27], value);
4641      this.sky = value;
4642      fieldSetFlags()[27] = true;
4643      return this;
4644    }
4645
4646    /**
4647      * Checks whether the 'sky' field has been set.
4648      * Local sky background estimate [DN]
4649      * @return True if the 'sky' field has been set, false otherwise.
4650      */
4651    public boolean hasSky() {
4652      return fieldSetFlags()[27];
4653    }
4654
4655
4656    /**
4657      * Clears the value of the 'sky' field.
4658      * Local sky background estimate [DN]
4659      * @return This builder.
4660      */
4661    public ztf.alert.candidate.Builder clearSky() {
4662      sky = null;
4663      fieldSetFlags()[27] = false;
4664      return this;
4665    }
4666
4667    /**
4668      * Gets the value of the 'magdiff' field.
4669      * Difference: magap - magpsf [mag]
4670      * @return The value.
4671      */
4672    public java.lang.Float getMagdiff() {
4673      return magdiff;
4674    }
4675
4676    /**
4677      * Sets the value of the 'magdiff' field.
4678      * Difference: magap - magpsf [mag]
4679      * @param value The value of 'magdiff'.
4680      * @return This builder.
4681      */
4682    public ztf.alert.candidate.Builder setMagdiff(java.lang.Float value) {
4683      validate(fields()[28], value);
4684      this.magdiff = value;
4685      fieldSetFlags()[28] = true;
4686      return this;
4687    }
4688
4689    /**
4690      * Checks whether the 'magdiff' field has been set.
4691      * Difference: magap - magpsf [mag]
4692      * @return True if the 'magdiff' field has been set, false otherwise.
4693      */
4694    public boolean hasMagdiff() {
4695      return fieldSetFlags()[28];
4696    }
4697
4698
4699    /**
4700      * Clears the value of the 'magdiff' field.
4701      * Difference: magap - magpsf [mag]
4702      * @return This builder.
4703      */
4704    public ztf.alert.candidate.Builder clearMagdiff() {
4705      magdiff = null;
4706      fieldSetFlags()[28] = false;
4707      return this;
4708    }
4709
4710    /**
4711      * Gets the value of the 'fwhm' field.
4712      * Full Width Half Max assuming a Gaussian core, from SExtractor [pixels]
4713      * @return The value.
4714      */
4715    public java.lang.Float getFwhm() {
4716      return fwhm;
4717    }
4718
4719    /**
4720      * Sets the value of the 'fwhm' field.
4721      * Full Width Half Max assuming a Gaussian core, from SExtractor [pixels]
4722      * @param value The value of 'fwhm'.
4723      * @return This builder.
4724      */
4725    public ztf.alert.candidate.Builder setFwhm(java.lang.Float value) {
4726      validate(fields()[29], value);
4727      this.fwhm = value;
4728      fieldSetFlags()[29] = true;
4729      return this;
4730    }
4731
4732    /**
4733      * Checks whether the 'fwhm' field has been set.
4734      * Full Width Half Max assuming a Gaussian core, from SExtractor [pixels]
4735      * @return True if the 'fwhm' field has been set, false otherwise.
4736      */
4737    public boolean hasFwhm() {
4738      return fieldSetFlags()[29];
4739    }
4740
4741
4742    /**
4743      * Clears the value of the 'fwhm' field.
4744      * Full Width Half Max assuming a Gaussian core, from SExtractor [pixels]
4745      * @return This builder.
4746      */
4747    public ztf.alert.candidate.Builder clearFwhm() {
4748      fwhm = null;
4749      fieldSetFlags()[29] = false;
4750      return this;
4751    }
4752
4753    /**
4754      * Gets the value of the 'classtar' field.
4755      * Star/Galaxy classification score from SExtractor
4756      * @return The value.
4757      */
4758    public java.lang.Float getClasstar() {
4759      return classtar;
4760    }
4761
4762    /**
4763      * Sets the value of the 'classtar' field.
4764      * Star/Galaxy classification score from SExtractor
4765      * @param value The value of 'classtar'.
4766      * @return This builder.
4767      */
4768    public ztf.alert.candidate.Builder setClasstar(java.lang.Float value) {
4769      validate(fields()[30], value);
4770      this.classtar = value;
4771      fieldSetFlags()[30] = true;
4772      return this;
4773    }
4774
4775    /**
4776      * Checks whether the 'classtar' field has been set.
4777      * Star/Galaxy classification score from SExtractor
4778      * @return True if the 'classtar' field has been set, false otherwise.
4779      */
4780    public boolean hasClasstar() {
4781      return fieldSetFlags()[30];
4782    }
4783
4784
4785    /**
4786      * Clears the value of the 'classtar' field.
4787      * Star/Galaxy classification score from SExtractor
4788      * @return This builder.
4789      */
4790    public ztf.alert.candidate.Builder clearClasstar() {
4791      classtar = null;
4792      fieldSetFlags()[30] = false;
4793      return this;
4794    }
4795
4796    /**
4797      * Gets the value of the 'mindtoedge' field.
4798      * Distance to nearest edge in image [pixels]
4799      * @return The value.
4800      */
4801    public java.lang.Float getMindtoedge() {
4802      return mindtoedge;
4803    }
4804
4805    /**
4806      * Sets the value of the 'mindtoedge' field.
4807      * Distance to nearest edge in image [pixels]
4808      * @param value The value of 'mindtoedge'.
4809      * @return This builder.
4810      */
4811    public ztf.alert.candidate.Builder setMindtoedge(java.lang.Float value) {
4812      validate(fields()[31], value);
4813      this.mindtoedge = value;
4814      fieldSetFlags()[31] = true;
4815      return this;
4816    }
4817
4818    /**
4819      * Checks whether the 'mindtoedge' field has been set.
4820      * Distance to nearest edge in image [pixels]
4821      * @return True if the 'mindtoedge' field has been set, false otherwise.
4822      */
4823    public boolean hasMindtoedge() {
4824      return fieldSetFlags()[31];
4825    }
4826
4827
4828    /**
4829      * Clears the value of the 'mindtoedge' field.
4830      * Distance to nearest edge in image [pixels]
4831      * @return This builder.
4832      */
4833    public ztf.alert.candidate.Builder clearMindtoedge() {
4834      mindtoedge = null;
4835      fieldSetFlags()[31] = false;
4836      return this;
4837    }
4838
4839    /**
4840      * Gets the value of the 'magfromlim' field.
4841      * Difference: diffmaglim - magap [mag]
4842      * @return The value.
4843      */
4844    public java.lang.Float getMagfromlim() {
4845      return magfromlim;
4846    }
4847
4848    /**
4849      * Sets the value of the 'magfromlim' field.
4850      * Difference: diffmaglim - magap [mag]
4851      * @param value The value of 'magfromlim'.
4852      * @return This builder.
4853      */
4854    public ztf.alert.candidate.Builder setMagfromlim(java.lang.Float value) {
4855      validate(fields()[32], value);
4856      this.magfromlim = value;
4857      fieldSetFlags()[32] = true;
4858      return this;
4859    }
4860
4861    /**
4862      * Checks whether the 'magfromlim' field has been set.
4863      * Difference: diffmaglim - magap [mag]
4864      * @return True if the 'magfromlim' field has been set, false otherwise.
4865      */
4866    public boolean hasMagfromlim() {
4867      return fieldSetFlags()[32];
4868    }
4869
4870
4871    /**
4872      * Clears the value of the 'magfromlim' field.
4873      * Difference: diffmaglim - magap [mag]
4874      * @return This builder.
4875      */
4876    public ztf.alert.candidate.Builder clearMagfromlim() {
4877      magfromlim = null;
4878      fieldSetFlags()[32] = false;
4879      return this;
4880    }
4881
4882    /**
4883      * Gets the value of the 'seeratio' field.
4884      * Ratio: difffwhm / fwhm
4885      * @return The value.
4886      */
4887    public java.lang.Float getSeeratio() {
4888      return seeratio;
4889    }
4890
4891    /**
4892      * Sets the value of the 'seeratio' field.
4893      * Ratio: difffwhm / fwhm
4894      * @param value The value of 'seeratio'.
4895      * @return This builder.
4896      */
4897    public ztf.alert.candidate.Builder setSeeratio(java.lang.Float value) {
4898      validate(fields()[33], value);
4899      this.seeratio = value;
4900      fieldSetFlags()[33] = true;
4901      return this;
4902    }
4903
4904    /**
4905      * Checks whether the 'seeratio' field has been set.
4906      * Ratio: difffwhm / fwhm
4907      * @return True if the 'seeratio' field has been set, false otherwise.
4908      */
4909    public boolean hasSeeratio() {
4910      return fieldSetFlags()[33];
4911    }
4912
4913
4914    /**
4915      * Clears the value of the 'seeratio' field.
4916      * Ratio: difffwhm / fwhm
4917      * @return This builder.
4918      */
4919    public ztf.alert.candidate.Builder clearSeeratio() {
4920      seeratio = null;
4921      fieldSetFlags()[33] = false;
4922      return this;
4923    }
4924
4925    /**
4926      * Gets the value of the 'aimage' field.
4927      * Windowed profile RMS afloat major axis from SExtractor [pixels]
4928      * @return The value.
4929      */
4930    public java.lang.Float getAimage() {
4931      return aimage;
4932    }
4933
4934    /**
4935      * Sets the value of the 'aimage' field.
4936      * Windowed profile RMS afloat major axis from SExtractor [pixels]
4937      * @param value The value of 'aimage'.
4938      * @return This builder.
4939      */
4940    public ztf.alert.candidate.Builder setAimage(java.lang.Float value) {
4941      validate(fields()[34], value);
4942      this.aimage = value;
4943      fieldSetFlags()[34] = true;
4944      return this;
4945    }
4946
4947    /**
4948      * Checks whether the 'aimage' field has been set.
4949      * Windowed profile RMS afloat major axis from SExtractor [pixels]
4950      * @return True if the 'aimage' field has been set, false otherwise.
4951      */
4952    public boolean hasAimage() {
4953      return fieldSetFlags()[34];
4954    }
4955
4956
4957    /**
4958      * Clears the value of the 'aimage' field.
4959      * Windowed profile RMS afloat major axis from SExtractor [pixels]
4960      * @return This builder.
4961      */
4962    public ztf.alert.candidate.Builder clearAimage() {
4963      aimage = null;
4964      fieldSetFlags()[34] = false;
4965      return this;
4966    }
4967
4968    /**
4969      * Gets the value of the 'bimage' field.
4970      * Windowed profile RMS afloat minor axis from SExtractor [pixels]
4971      * @return The value.
4972      */
4973    public java.lang.Float getBimage() {
4974      return bimage;
4975    }
4976
4977    /**
4978      * Sets the value of the 'bimage' field.
4979      * Windowed profile RMS afloat minor axis from SExtractor [pixels]
4980      * @param value The value of 'bimage'.
4981      * @return This builder.
4982      */
4983    public ztf.alert.candidate.Builder setBimage(java.lang.Float value) {
4984      validate(fields()[35], value);
4985      this.bimage = value;
4986      fieldSetFlags()[35] = true;
4987      return this;
4988    }
4989
4990    /**
4991      * Checks whether the 'bimage' field has been set.
4992      * Windowed profile RMS afloat minor axis from SExtractor [pixels]
4993      * @return True if the 'bimage' field has been set, false otherwise.
4994      */
4995    public boolean hasBimage() {
4996      return fieldSetFlags()[35];
4997    }
4998
4999
5000    /**
5001      * Clears the value of the 'bimage' field.
5002      * Windowed profile RMS afloat minor axis from SExtractor [pixels]
5003      * @return This builder.
5004      */
5005    public ztf.alert.candidate.Builder clearBimage() {
5006      bimage = null;
5007      fieldSetFlags()[35] = false;
5008      return this;
5009    }
5010
5011    /**
5012      * Gets the value of the 'aimagerat' field.
5013      * Ratio: aimage / fwhm
5014      * @return The value.
5015      */
5016    public java.lang.Float getAimagerat() {
5017      return aimagerat;
5018    }
5019
5020    /**
5021      * Sets the value of the 'aimagerat' field.
5022      * Ratio: aimage / fwhm
5023      * @param value The value of 'aimagerat'.
5024      * @return This builder.
5025      */
5026    public ztf.alert.candidate.Builder setAimagerat(java.lang.Float value) {
5027      validate(fields()[36], value);
5028      this.aimagerat = value;
5029      fieldSetFlags()[36] = true;
5030      return this;
5031    }
5032
5033    /**
5034      * Checks whether the 'aimagerat' field has been set.
5035      * Ratio: aimage / fwhm
5036      * @return True if the 'aimagerat' field has been set, false otherwise.
5037      */
5038    public boolean hasAimagerat() {
5039      return fieldSetFlags()[36];
5040    }
5041
5042
5043    /**
5044      * Clears the value of the 'aimagerat' field.
5045      * Ratio: aimage / fwhm
5046      * @return This builder.
5047      */
5048    public ztf.alert.candidate.Builder clearAimagerat() {
5049      aimagerat = null;
5050      fieldSetFlags()[36] = false;
5051      return this;
5052    }
5053
5054    /**
5055      * Gets the value of the 'bimagerat' field.
5056      * Ratio: bimage / fwhm
5057      * @return The value.
5058      */
5059    public java.lang.Float getBimagerat() {
5060      return bimagerat;
5061    }
5062
5063    /**
5064      * Sets the value of the 'bimagerat' field.
5065      * Ratio: bimage / fwhm
5066      * @param value The value of 'bimagerat'.
5067      * @return This builder.
5068      */
5069    public ztf.alert.candidate.Builder setBimagerat(java.lang.Float value) {
5070      validate(fields()[37], value);
5071      this.bimagerat = value;
5072      fieldSetFlags()[37] = true;
5073      return this;
5074    }
5075
5076    /**
5077      * Checks whether the 'bimagerat' field has been set.
5078      * Ratio: bimage / fwhm
5079      * @return True if the 'bimagerat' field has been set, false otherwise.
5080      */
5081    public boolean hasBimagerat() {
5082      return fieldSetFlags()[37];
5083    }
5084
5085
5086    /**
5087      * Clears the value of the 'bimagerat' field.
5088      * Ratio: bimage / fwhm
5089      * @return This builder.
5090      */
5091    public ztf.alert.candidate.Builder clearBimagerat() {
5092      bimagerat = null;
5093      fieldSetFlags()[37] = false;
5094      return this;
5095    }
5096
5097    /**
5098      * Gets the value of the 'elong' field.
5099      * Ratio: aimage / bimage
5100      * @return The value.
5101      */
5102    public java.lang.Float getElong() {
5103      return elong;
5104    }
5105
5106    /**
5107      * Sets the value of the 'elong' field.
5108      * Ratio: aimage / bimage
5109      * @param value The value of 'elong'.
5110      * @return This builder.
5111      */
5112    public ztf.alert.candidate.Builder setElong(java.lang.Float value) {
5113      validate(fields()[38], value);
5114      this.elong = value;
5115      fieldSetFlags()[38] = true;
5116      return this;
5117    }
5118
5119    /**
5120      * Checks whether the 'elong' field has been set.
5121      * Ratio: aimage / bimage
5122      * @return True if the 'elong' field has been set, false otherwise.
5123      */
5124    public boolean hasElong() {
5125      return fieldSetFlags()[38];
5126    }
5127
5128
5129    /**
5130      * Clears the value of the 'elong' field.
5131      * Ratio: aimage / bimage
5132      * @return This builder.
5133      */
5134    public ztf.alert.candidate.Builder clearElong() {
5135      elong = null;
5136      fieldSetFlags()[38] = false;
5137      return this;
5138    }
5139
5140    /**
5141      * Gets the value of the 'nneg' field.
5142      * number of negative pixels in a 5 x 5 pixel stamp
5143      * @return The value.
5144      */
5145    public java.lang.Integer getNneg() {
5146      return nneg;
5147    }
5148
5149    /**
5150      * Sets the value of the 'nneg' field.
5151      * number of negative pixels in a 5 x 5 pixel stamp
5152      * @param value The value of 'nneg'.
5153      * @return This builder.
5154      */
5155    public ztf.alert.candidate.Builder setNneg(java.lang.Integer value) {
5156      validate(fields()[39], value);
5157      this.nneg = value;
5158      fieldSetFlags()[39] = true;
5159      return this;
5160    }
5161
5162    /**
5163      * Checks whether the 'nneg' field has been set.
5164      * number of negative pixels in a 5 x 5 pixel stamp
5165      * @return True if the 'nneg' field has been set, false otherwise.
5166      */
5167    public boolean hasNneg() {
5168      return fieldSetFlags()[39];
5169    }
5170
5171
5172    /**
5173      * Clears the value of the 'nneg' field.
5174      * number of negative pixels in a 5 x 5 pixel stamp
5175      * @return This builder.
5176      */
5177    public ztf.alert.candidate.Builder clearNneg() {
5178      nneg = null;
5179      fieldSetFlags()[39] = false;
5180      return this;
5181    }
5182
5183    /**
5184      * Gets the value of the 'nbad' field.
5185      * number of prior-tagged bad pixels in a 5 x 5 pixel stamp
5186      * @return The value.
5187      */
5188    public java.lang.Integer getNbad() {
5189      return nbad;
5190    }
5191
5192    /**
5193      * Sets the value of the 'nbad' field.
5194      * number of prior-tagged bad pixels in a 5 x 5 pixel stamp
5195      * @param value The value of 'nbad'.
5196      * @return This builder.
5197      */
5198    public ztf.alert.candidate.Builder setNbad(java.lang.Integer value) {
5199      validate(fields()[40], value);
5200      this.nbad = value;
5201      fieldSetFlags()[40] = true;
5202      return this;
5203    }
5204
5205    /**
5206      * Checks whether the 'nbad' field has been set.
5207      * number of prior-tagged bad pixels in a 5 x 5 pixel stamp
5208      * @return True if the 'nbad' field has been set, false otherwise.
5209      */
5210    public boolean hasNbad() {
5211      return fieldSetFlags()[40];
5212    }
5213
5214
5215    /**
5216      * Clears the value of the 'nbad' field.
5217      * number of prior-tagged bad pixels in a 5 x 5 pixel stamp
5218      * @return This builder.
5219      */
5220    public ztf.alert.candidate.Builder clearNbad() {
5221      nbad = null;
5222      fieldSetFlags()[40] = false;
5223      return this;
5224    }
5225
5226    /**
5227      * Gets the value of the 'rb' field.
5228      * RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable
5229      * @return The value.
5230      */
5231    public java.lang.Float getRb() {
5232      return rb;
5233    }
5234
5235    /**
5236      * Sets the value of the 'rb' field.
5237      * RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable
5238      * @param value The value of 'rb'.
5239      * @return This builder.
5240      */
5241    public ztf.alert.candidate.Builder setRb(java.lang.Float value) {
5242      validate(fields()[41], value);
5243      this.rb = value;
5244      fieldSetFlags()[41] = true;
5245      return this;
5246    }
5247
5248    /**
5249      * Checks whether the 'rb' field has been set.
5250      * RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable
5251      * @return True if the 'rb' field has been set, false otherwise.
5252      */
5253    public boolean hasRb() {
5254      return fieldSetFlags()[41];
5255    }
5256
5257
5258    /**
5259      * Clears the value of the 'rb' field.
5260      * RealBogus quality score; range is 0 to 1 where closer to 1 is more reliable
5261      * @return This builder.
5262      */
5263    public ztf.alert.candidate.Builder clearRb() {
5264      rb = null;
5265      fieldSetFlags()[41] = false;
5266      return this;
5267    }
5268
5269    /**
5270      * Gets the value of the 'ssdistnr' field.
5271      * distance to nearest known solar system object if exists within 30 arcsec [arcsec]
5272      * @return The value.
5273      */
5274    public java.lang.Float getSsdistnr() {
5275      return ssdistnr;
5276    }
5277
5278    /**
5279      * Sets the value of the 'ssdistnr' field.
5280      * distance to nearest known solar system object if exists within 30 arcsec [arcsec]
5281      * @param value The value of 'ssdistnr'.
5282      * @return This builder.
5283      */
5284    public ztf.alert.candidate.Builder setSsdistnr(java.lang.Float value) {
5285      validate(fields()[42], value);
5286      this.ssdistnr = value;
5287      fieldSetFlags()[42] = true;
5288      return this;
5289    }
5290
5291    /**
5292      * Checks whether the 'ssdistnr' field has been set.
5293      * distance to nearest known solar system object if exists within 30 arcsec [arcsec]
5294      * @return True if the 'ssdistnr' field has been set, false otherwise.
5295      */
5296    public boolean hasSsdistnr() {
5297      return fieldSetFlags()[42];
5298    }
5299
5300
5301    /**
5302      * Clears the value of the 'ssdistnr' field.
5303      * distance to nearest known solar system object if exists within 30 arcsec [arcsec]
5304      * @return This builder.
5305      */
5306    public ztf.alert.candidate.Builder clearSsdistnr() {
5307      ssdistnr = null;
5308      fieldSetFlags()[42] = false;
5309      return this;
5310    }
5311
5312    /**
5313      * Gets the value of the 'ssmagnr' field.
5314      * magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag]
5315      * @return The value.
5316      */
5317    public java.lang.Float getSsmagnr() {
5318      return ssmagnr;
5319    }
5320
5321    /**
5322      * Sets the value of the 'ssmagnr' field.
5323      * magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag]
5324      * @param value The value of 'ssmagnr'.
5325      * @return This builder.
5326      */
5327    public ztf.alert.candidate.Builder setSsmagnr(java.lang.Float value) {
5328      validate(fields()[43], value);
5329      this.ssmagnr = value;
5330      fieldSetFlags()[43] = true;
5331      return this;
5332    }
5333
5334    /**
5335      * Checks whether the 'ssmagnr' field has been set.
5336      * magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag]
5337      * @return True if the 'ssmagnr' field has been set, false otherwise.
5338      */
5339    public boolean hasSsmagnr() {
5340      return fieldSetFlags()[43];
5341    }
5342
5343
5344    /**
5345      * Clears the value of the 'ssmagnr' field.
5346      * magnitude of nearest known solar system object if exists within 30 arcsec (usually V-band from MPC archive) [mag]
5347      * @return This builder.
5348      */
5349    public ztf.alert.candidate.Builder clearSsmagnr() {
5350      ssmagnr = null;
5351      fieldSetFlags()[43] = false;
5352      return this;
5353    }
5354
5355    /**
5356      * Gets the value of the 'ssnamenr' field.
5357      * name of nearest known solar system object if exists within 30 arcsec (from MPC archive)
5358      * @return The value.
5359      */
5360    public java.lang.CharSequence getSsnamenr() {
5361      return ssnamenr;
5362    }
5363
5364    /**
5365      * Sets the value of the 'ssnamenr' field.
5366      * name of nearest known solar system object if exists within 30 arcsec (from MPC archive)
5367      * @param value The value of 'ssnamenr'.
5368      * @return This builder.
5369      */
5370    public ztf.alert.candidate.Builder setSsnamenr(java.lang.CharSequence value) {
5371      validate(fields()[44], value);
5372      this.ssnamenr = value;
5373      fieldSetFlags()[44] = true;
5374      return this;
5375    }
5376
5377    /**
5378      * Checks whether the 'ssnamenr' field has been set.
5379      * name of nearest known solar system object if exists within 30 arcsec (from MPC archive)
5380      * @return True if the 'ssnamenr' field has been set, false otherwise.
5381      */
5382    public boolean hasSsnamenr() {
5383      return fieldSetFlags()[44];
5384    }
5385
5386
5387    /**
5388      * Clears the value of the 'ssnamenr' field.
5389      * name of nearest known solar system object if exists within 30 arcsec (from MPC archive)
5390      * @return This builder.
5391      */
5392    public ztf.alert.candidate.Builder clearSsnamenr() {
5393      ssnamenr = null;
5394      fieldSetFlags()[44] = false;
5395      return this;
5396    }
5397
5398    /**
5399      * Gets the value of the 'sumrat' field.
5400      * Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers
5401      * @return The value.
5402      */
5403    public java.lang.Float getSumrat() {
5404      return sumrat;
5405    }
5406
5407    /**
5408      * Sets the value of the 'sumrat' field.
5409      * Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers
5410      * @param value The value of 'sumrat'.
5411      * @return This builder.
5412      */
5413    public ztf.alert.candidate.Builder setSumrat(java.lang.Float value) {
5414      validate(fields()[45], value);
5415      this.sumrat = value;
5416      fieldSetFlags()[45] = true;
5417      return this;
5418    }
5419
5420    /**
5421      * Checks whether the 'sumrat' field has been set.
5422      * Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers
5423      * @return True if the 'sumrat' field has been set, false otherwise.
5424      */
5425    public boolean hasSumrat() {
5426      return fieldSetFlags()[45];
5427    }
5428
5429
5430    /**
5431      * Clears the value of the 'sumrat' field.
5432      * Ratio: sum(pixels) / sum(|pixels|) in a 5 x 5 pixel stamp where stamp is first median-filtered to mitigate outliers
5433      * @return This builder.
5434      */
5435    public ztf.alert.candidate.Builder clearSumrat() {
5436      sumrat = null;
5437      fieldSetFlags()[45] = false;
5438      return this;
5439    }
5440
5441    /**
5442      * Gets the value of the 'magapbig' field.
5443      * Aperture mag using 18 pixel diameter aperture [mag]
5444      * @return The value.
5445      */
5446    public java.lang.Float getMagapbig() {
5447      return magapbig;
5448    }
5449
5450    /**
5451      * Sets the value of the 'magapbig' field.
5452      * Aperture mag using 18 pixel diameter aperture [mag]
5453      * @param value The value of 'magapbig'.
5454      * @return This builder.
5455      */
5456    public ztf.alert.candidate.Builder setMagapbig(java.lang.Float value) {
5457      validate(fields()[46], value);
5458      this.magapbig = value;
5459      fieldSetFlags()[46] = true;
5460      return this;
5461    }
5462
5463    /**
5464      * Checks whether the 'magapbig' field has been set.
5465      * Aperture mag using 18 pixel diameter aperture [mag]
5466      * @return True if the 'magapbig' field has been set, false otherwise.
5467      */
5468    public boolean hasMagapbig() {
5469      return fieldSetFlags()[46];
5470    }
5471
5472
5473    /**
5474      * Clears the value of the 'magapbig' field.
5475      * Aperture mag using 18 pixel diameter aperture [mag]
5476      * @return This builder.
5477      */
5478    public ztf.alert.candidate.Builder clearMagapbig() {
5479      magapbig = null;
5480      fieldSetFlags()[46] = false;
5481      return this;
5482    }
5483
5484    /**
5485      * Gets the value of the 'sigmagapbig' field.
5486      * 1-sigma uncertainty in magapbig [mag]
5487      * @return The value.
5488      */
5489    public java.lang.Float getSigmagapbig() {
5490      return sigmagapbig;
5491    }
5492
5493    /**
5494      * Sets the value of the 'sigmagapbig' field.
5495      * 1-sigma uncertainty in magapbig [mag]
5496      * @param value The value of 'sigmagapbig'.
5497      * @return This builder.
5498      */
5499    public ztf.alert.candidate.Builder setSigmagapbig(java.lang.Float value) {
5500      validate(fields()[47], value);
5501      this.sigmagapbig = value;
5502      fieldSetFlags()[47] = true;
5503      return this;
5504    }
5505
5506    /**
5507      * Checks whether the 'sigmagapbig' field has been set.
5508      * 1-sigma uncertainty in magapbig [mag]
5509      * @return True if the 'sigmagapbig' field has been set, false otherwise.
5510      */
5511    public boolean hasSigmagapbig() {
5512      return fieldSetFlags()[47];
5513    }
5514
5515
5516    /**
5517      * Clears the value of the 'sigmagapbig' field.
5518      * 1-sigma uncertainty in magapbig [mag]
5519      * @return This builder.
5520      */
5521    public ztf.alert.candidate.Builder clearSigmagapbig() {
5522      sigmagapbig = null;
5523      fieldSetFlags()[47] = false;
5524      return this;
5525    }
5526
5527    /**
5528      * Gets the value of the 'ranr' field.
5529      * Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg]
5530      * @return The value.
5531      */
5532    public java.lang.Double getRanr() {
5533      return ranr;
5534    }
5535
5536    /**
5537      * Sets the value of the 'ranr' field.
5538      * Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg]
5539      * @param value The value of 'ranr'.
5540      * @return This builder.
5541      */
5542    public ztf.alert.candidate.Builder setRanr(double value) {
5543      validate(fields()[48], value);
5544      this.ranr = value;
5545      fieldSetFlags()[48] = true;
5546      return this;
5547    }
5548
5549    /**
5550      * Checks whether the 'ranr' field has been set.
5551      * Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg]
5552      * @return True if the 'ranr' field has been set, false otherwise.
5553      */
5554    public boolean hasRanr() {
5555      return fieldSetFlags()[48];
5556    }
5557
5558
5559    /**
5560      * Clears the value of the 'ranr' field.
5561      * Right Ascension of nearest source in reference image PSF-catalog; J2000 [deg]
5562      * @return This builder.
5563      */
5564    public ztf.alert.candidate.Builder clearRanr() {
5565      fieldSetFlags()[48] = false;
5566      return this;
5567    }
5568
5569    /**
5570      * Gets the value of the 'decnr' field.
5571      * Declination of nearest source in reference image PSF-catalog; J2000 [deg]
5572      * @return The value.
5573      */
5574    public java.lang.Double getDecnr() {
5575      return decnr;
5576    }
5577
5578    /**
5579      * Sets the value of the 'decnr' field.
5580      * Declination of nearest source in reference image PSF-catalog; J2000 [deg]
5581      * @param value The value of 'decnr'.
5582      * @return This builder.
5583      */
5584    public ztf.alert.candidate.Builder setDecnr(double value) {
5585      validate(fields()[49], value);
5586      this.decnr = value;
5587      fieldSetFlags()[49] = true;
5588      return this;
5589    }
5590
5591    /**
5592      * Checks whether the 'decnr' field has been set.
5593      * Declination of nearest source in reference image PSF-catalog; J2000 [deg]
5594      * @return True if the 'decnr' field has been set, false otherwise.
5595      */
5596    public boolean hasDecnr() {
5597      return fieldSetFlags()[49];
5598    }
5599
5600
5601    /**
5602      * Clears the value of the 'decnr' field.
5603      * Declination of nearest source in reference image PSF-catalog; J2000 [deg]
5604      * @return This builder.
5605      */
5606    public ztf.alert.candidate.Builder clearDecnr() {
5607      fieldSetFlags()[49] = false;
5608      return this;
5609    }
5610
5611    /**
5612      * Gets the value of the 'sgmag1' field.
5613      * g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5614      * @return The value.
5615      */
5616    public java.lang.Float getSgmag1() {
5617      return sgmag1;
5618    }
5619
5620    /**
5621      * Sets the value of the 'sgmag1' field.
5622      * g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5623      * @param value The value of 'sgmag1'.
5624      * @return This builder.
5625      */
5626    public ztf.alert.candidate.Builder setSgmag1(java.lang.Float value) {
5627      validate(fields()[50], value);
5628      this.sgmag1 = value;
5629      fieldSetFlags()[50] = true;
5630      return this;
5631    }
5632
5633    /**
5634      * Checks whether the 'sgmag1' field has been set.
5635      * g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5636      * @return True if the 'sgmag1' field has been set, false otherwise.
5637      */
5638    public boolean hasSgmag1() {
5639      return fieldSetFlags()[50];
5640    }
5641
5642
5643    /**
5644      * Clears the value of the 'sgmag1' field.
5645      * g-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5646      * @return This builder.
5647      */
5648    public ztf.alert.candidate.Builder clearSgmag1() {
5649      sgmag1 = null;
5650      fieldSetFlags()[50] = false;
5651      return this;
5652    }
5653
5654    /**
5655      * Gets the value of the 'srmag1' field.
5656      * r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5657      * @return The value.
5658      */
5659    public java.lang.Float getSrmag1() {
5660      return srmag1;
5661    }
5662
5663    /**
5664      * Sets the value of the 'srmag1' field.
5665      * r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5666      * @param value The value of 'srmag1'.
5667      * @return This builder.
5668      */
5669    public ztf.alert.candidate.Builder setSrmag1(java.lang.Float value) {
5670      validate(fields()[51], value);
5671      this.srmag1 = value;
5672      fieldSetFlags()[51] = true;
5673      return this;
5674    }
5675
5676    /**
5677      * Checks whether the 'srmag1' field has been set.
5678      * r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5679      * @return True if the 'srmag1' field has been set, false otherwise.
5680      */
5681    public boolean hasSrmag1() {
5682      return fieldSetFlags()[51];
5683    }
5684
5685
5686    /**
5687      * Clears the value of the 'srmag1' field.
5688      * r-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5689      * @return This builder.
5690      */
5691    public ztf.alert.candidate.Builder clearSrmag1() {
5692      srmag1 = null;
5693      fieldSetFlags()[51] = false;
5694      return this;
5695    }
5696
5697    /**
5698      * Gets the value of the 'simag1' field.
5699      * i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5700      * @return The value.
5701      */
5702    public java.lang.Float getSimag1() {
5703      return simag1;
5704    }
5705
5706    /**
5707      * Sets the value of the 'simag1' field.
5708      * i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5709      * @param value The value of 'simag1'.
5710      * @return This builder.
5711      */
5712    public ztf.alert.candidate.Builder setSimag1(java.lang.Float value) {
5713      validate(fields()[52], value);
5714      this.simag1 = value;
5715      fieldSetFlags()[52] = true;
5716      return this;
5717    }
5718
5719    /**
5720      * Checks whether the 'simag1' field has been set.
5721      * i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5722      * @return True if the 'simag1' field has been set, false otherwise.
5723      */
5724    public boolean hasSimag1() {
5725      return fieldSetFlags()[52];
5726    }
5727
5728
5729    /**
5730      * Clears the value of the 'simag1' field.
5731      * i-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5732      * @return This builder.
5733      */
5734    public ztf.alert.candidate.Builder clearSimag1() {
5735      simag1 = null;
5736      fieldSetFlags()[52] = false;
5737      return this;
5738    }
5739
5740    /**
5741      * Gets the value of the 'szmag1' field.
5742      * z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5743      * @return The value.
5744      */
5745    public java.lang.Float getSzmag1() {
5746      return szmag1;
5747    }
5748
5749    /**
5750      * Sets the value of the 'szmag1' field.
5751      * z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5752      * @param value The value of 'szmag1'.
5753      * @return This builder.
5754      */
5755    public ztf.alert.candidate.Builder setSzmag1(java.lang.Float value) {
5756      validate(fields()[53], value);
5757      this.szmag1 = value;
5758      fieldSetFlags()[53] = true;
5759      return this;
5760    }
5761
5762    /**
5763      * Checks whether the 'szmag1' field has been set.
5764      * z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5765      * @return True if the 'szmag1' field has been set, false otherwise.
5766      */
5767    public boolean hasSzmag1() {
5768      return fieldSetFlags()[53];
5769    }
5770
5771
5772    /**
5773      * Clears the value of the 'szmag1' field.
5774      * z-band PSF-fit magnitude of closest source from PS1 catalog; if exists within 30 arcsec [mag]
5775      * @return This builder.
5776      */
5777    public ztf.alert.candidate.Builder clearSzmag1() {
5778      szmag1 = null;
5779      fieldSetFlags()[53] = false;
5780      return this;
5781    }
5782
5783    /**
5784      * Gets the value of the 'sgscore1' field.
5785      * Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
5786      * @return The value.
5787      */
5788    public java.lang.Float getSgscore1() {
5789      return sgscore1;
5790    }
5791
5792    /**
5793      * Sets the value of the 'sgscore1' field.
5794      * Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
5795      * @param value The value of 'sgscore1'.
5796      * @return This builder.
5797      */
5798    public ztf.alert.candidate.Builder setSgscore1(java.lang.Float value) {
5799      validate(fields()[54], value);
5800      this.sgscore1 = value;
5801      fieldSetFlags()[54] = true;
5802      return this;
5803    }
5804
5805    /**
5806      * Checks whether the 'sgscore1' field has been set.
5807      * Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
5808      * @return True if the 'sgscore1' field has been set, false otherwise.
5809      */
5810    public boolean hasSgscore1() {
5811      return fieldSetFlags()[54];
5812    }
5813
5814
5815    /**
5816      * Clears the value of the 'sgscore1' field.
5817      * Star/Galaxy score of closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
5818      * @return This builder.
5819      */
5820    public ztf.alert.candidate.Builder clearSgscore1() {
5821      sgscore1 = null;
5822      fieldSetFlags()[54] = false;
5823      return this;
5824    }
5825
5826    /**
5827      * Gets the value of the 'distpsnr1' field.
5828      * Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
5829      * @return The value.
5830      */
5831    public java.lang.Float getDistpsnr1() {
5832      return distpsnr1;
5833    }
5834
5835    /**
5836      * Sets the value of the 'distpsnr1' field.
5837      * Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
5838      * @param value The value of 'distpsnr1'.
5839      * @return This builder.
5840      */
5841    public ztf.alert.candidate.Builder setDistpsnr1(java.lang.Float value) {
5842      validate(fields()[55], value);
5843      this.distpsnr1 = value;
5844      fieldSetFlags()[55] = true;
5845      return this;
5846    }
5847
5848    /**
5849      * Checks whether the 'distpsnr1' field has been set.
5850      * Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
5851      * @return True if the 'distpsnr1' field has been set, false otherwise.
5852      */
5853    public boolean hasDistpsnr1() {
5854      return fieldSetFlags()[55];
5855    }
5856
5857
5858    /**
5859      * Clears the value of the 'distpsnr1' field.
5860      * Distance to closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
5861      * @return This builder.
5862      */
5863    public ztf.alert.candidate.Builder clearDistpsnr1() {
5864      distpsnr1 = null;
5865      fieldSetFlags()[55] = false;
5866      return this;
5867    }
5868
5869    /**
5870      * Gets the value of the 'ndethist' field.
5871      * Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted
5872      * @return The value.
5873      */
5874    public java.lang.Integer getNdethist() {
5875      return ndethist;
5876    }
5877
5878    /**
5879      * Sets the value of the 'ndethist' field.
5880      * Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted
5881      * @param value The value of 'ndethist'.
5882      * @return This builder.
5883      */
5884    public ztf.alert.candidate.Builder setNdethist(int value) {
5885      validate(fields()[56], value);
5886      this.ndethist = value;
5887      fieldSetFlags()[56] = true;
5888      return this;
5889    }
5890
5891    /**
5892      * Checks whether the 'ndethist' field has been set.
5893      * Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted
5894      * @return True if the 'ndethist' field has been set, false otherwise.
5895      */
5896    public boolean hasNdethist() {
5897      return fieldSetFlags()[56];
5898    }
5899
5900
5901    /**
5902      * Clears the value of the 'ndethist' field.
5903      * Number of spatially-coincident detections falling within 1.5 arcsec going back to beginning of survey; only detections that fell on the same field and readout-channel ID where the input candidate was observed are counted
5904      * @return This builder.
5905      */
5906    public ztf.alert.candidate.Builder clearNdethist() {
5907      fieldSetFlags()[56] = false;
5908      return this;
5909    }
5910
5911    /**
5912      * Gets the value of the 'ncovhist' field.
5913      * Number of times input candidate position fell on any field and readout-channel going back to beginning of survey
5914      * @return The value.
5915      */
5916    public java.lang.Integer getNcovhist() {
5917      return ncovhist;
5918    }
5919
5920    /**
5921      * Sets the value of the 'ncovhist' field.
5922      * Number of times input candidate position fell on any field and readout-channel going back to beginning of survey
5923      * @param value The value of 'ncovhist'.
5924      * @return This builder.
5925      */
5926    public ztf.alert.candidate.Builder setNcovhist(int value) {
5927      validate(fields()[57], value);
5928      this.ncovhist = value;
5929      fieldSetFlags()[57] = true;
5930      return this;
5931    }
5932
5933    /**
5934      * Checks whether the 'ncovhist' field has been set.
5935      * Number of times input candidate position fell on any field and readout-channel going back to beginning of survey
5936      * @return True if the 'ncovhist' field has been set, false otherwise.
5937      */
5938    public boolean hasNcovhist() {
5939      return fieldSetFlags()[57];
5940    }
5941
5942
5943    /**
5944      * Clears the value of the 'ncovhist' field.
5945      * Number of times input candidate position fell on any field and readout-channel going back to beginning of survey
5946      * @return This builder.
5947      */
5948    public ztf.alert.candidate.Builder clearNcovhist() {
5949      fieldSetFlags()[57] = false;
5950      return this;
5951    }
5952
5953    /**
5954      * Gets the value of the 'jdstarthist' field.
5955      * Earliest Julian date of epoch corresponding to ndethist [days]
5956      * @return The value.
5957      */
5958    public java.lang.Double getJdstarthist() {
5959      return jdstarthist;
5960    }
5961
5962    /**
5963      * Sets the value of the 'jdstarthist' field.
5964      * Earliest Julian date of epoch corresponding to ndethist [days]
5965      * @param value The value of 'jdstarthist'.
5966      * @return This builder.
5967      */
5968    public ztf.alert.candidate.Builder setJdstarthist(java.lang.Double value) {
5969      validate(fields()[58], value);
5970      this.jdstarthist = value;
5971      fieldSetFlags()[58] = true;
5972      return this;
5973    }
5974
5975    /**
5976      * Checks whether the 'jdstarthist' field has been set.
5977      * Earliest Julian date of epoch corresponding to ndethist [days]
5978      * @return True if the 'jdstarthist' field has been set, false otherwise.
5979      */
5980    public boolean hasJdstarthist() {
5981      return fieldSetFlags()[58];
5982    }
5983
5984
5985    /**
5986      * Clears the value of the 'jdstarthist' field.
5987      * Earliest Julian date of epoch corresponding to ndethist [days]
5988      * @return This builder.
5989      */
5990    public ztf.alert.candidate.Builder clearJdstarthist() {
5991      jdstarthist = null;
5992      fieldSetFlags()[58] = false;
5993      return this;
5994    }
5995
5996    /**
5997      * Gets the value of the 'jdendhist' field.
5998      * Latest Julian date of epoch corresponding to ndethist [days]
5999      * @return The value.
6000      */
6001    public java.lang.Double getJdendhist() {
6002      return jdendhist;
6003    }
6004
6005    /**
6006      * Sets the value of the 'jdendhist' field.
6007      * Latest Julian date of epoch corresponding to ndethist [days]
6008      * @param value The value of 'jdendhist'.
6009      * @return This builder.
6010      */
6011    public ztf.alert.candidate.Builder setJdendhist(java.lang.Double value) {
6012      validate(fields()[59], value);
6013      this.jdendhist = value;
6014      fieldSetFlags()[59] = true;
6015      return this;
6016    }
6017
6018    /**
6019      * Checks whether the 'jdendhist' field has been set.
6020      * Latest Julian date of epoch corresponding to ndethist [days]
6021      * @return True if the 'jdendhist' field has been set, false otherwise.
6022      */
6023    public boolean hasJdendhist() {
6024      return fieldSetFlags()[59];
6025    }
6026
6027
6028    /**
6029      * Clears the value of the 'jdendhist' field.
6030      * Latest Julian date of epoch corresponding to ndethist [days]
6031      * @return This builder.
6032      */
6033    public ztf.alert.candidate.Builder clearJdendhist() {
6034      jdendhist = null;
6035      fieldSetFlags()[59] = false;
6036      return this;
6037    }
6038
6039    /**
6040      * Gets the value of the 'scorr' field.
6041      * Peak-pixel signal-to-noise ratio in point source matched-filtered detection image
6042      * @return The value.
6043      */
6044    public java.lang.Double getScorr() {
6045      return scorr;
6046    }
6047
6048    /**
6049      * Sets the value of the 'scorr' field.
6050      * Peak-pixel signal-to-noise ratio in point source matched-filtered detection image
6051      * @param value The value of 'scorr'.
6052      * @return This builder.
6053      */
6054    public ztf.alert.candidate.Builder setScorr(java.lang.Double value) {
6055      validate(fields()[60], value);
6056      this.scorr = value;
6057      fieldSetFlags()[60] = true;
6058      return this;
6059    }
6060
6061    /**
6062      * Checks whether the 'scorr' field has been set.
6063      * Peak-pixel signal-to-noise ratio in point source matched-filtered detection image
6064      * @return True if the 'scorr' field has been set, false otherwise.
6065      */
6066    public boolean hasScorr() {
6067      return fieldSetFlags()[60];
6068    }
6069
6070
6071    /**
6072      * Clears the value of the 'scorr' field.
6073      * Peak-pixel signal-to-noise ratio in point source matched-filtered detection image
6074      * @return This builder.
6075      */
6076    public ztf.alert.candidate.Builder clearScorr() {
6077      scorr = null;
6078      fieldSetFlags()[60] = false;
6079      return this;
6080    }
6081
6082    /**
6083      * Gets the value of the 'tooflag' field.
6084      * 1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure
6085      * @return The value.
6086      */
6087    public java.lang.Integer getTooflag() {
6088      return tooflag;
6089    }
6090
6091    /**
6092      * Sets the value of the 'tooflag' field.
6093      * 1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure
6094      * @param value The value of 'tooflag'.
6095      * @return This builder.
6096      */
6097    public ztf.alert.candidate.Builder setTooflag(java.lang.Integer value) {
6098      validate(fields()[61], value);
6099      this.tooflag = value;
6100      fieldSetFlags()[61] = true;
6101      return this;
6102    }
6103
6104    /**
6105      * Checks whether the 'tooflag' field has been set.
6106      * 1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure
6107      * @return True if the 'tooflag' field has been set, false otherwise.
6108      */
6109    public boolean hasTooflag() {
6110      return fieldSetFlags()[61];
6111    }
6112
6113
6114    /**
6115      * Clears the value of the 'tooflag' field.
6116      * 1 => candidate is from a Target-of-Opportunity (ToO) exposure; 0 => candidate is from a non-ToO exposure
6117      * @return This builder.
6118      */
6119    public ztf.alert.candidate.Builder clearTooflag() {
6120      tooflag = null;
6121      fieldSetFlags()[61] = false;
6122      return this;
6123    }
6124
6125    /**
6126      * Gets the value of the 'objectidps1' field.
6127      * Object ID of closest source from PS1 catalog; if exists within 30 arcsec
6128      * @return The value.
6129      */
6130    public java.lang.Long getObjectidps1() {
6131      return objectidps1;
6132    }
6133
6134    /**
6135      * Sets the value of the 'objectidps1' field.
6136      * Object ID of closest source from PS1 catalog; if exists within 30 arcsec
6137      * @param value The value of 'objectidps1'.
6138      * @return This builder.
6139      */
6140    public ztf.alert.candidate.Builder setObjectidps1(java.lang.Long value) {
6141      validate(fields()[62], value);
6142      this.objectidps1 = value;
6143      fieldSetFlags()[62] = true;
6144      return this;
6145    }
6146
6147    /**
6148      * Checks whether the 'objectidps1' field has been set.
6149      * Object ID of closest source from PS1 catalog; if exists within 30 arcsec
6150      * @return True if the 'objectidps1' field has been set, false otherwise.
6151      */
6152    public boolean hasObjectidps1() {
6153      return fieldSetFlags()[62];
6154    }
6155
6156
6157    /**
6158      * Clears the value of the 'objectidps1' field.
6159      * Object ID of closest source from PS1 catalog; if exists within 30 arcsec
6160      * @return This builder.
6161      */
6162    public ztf.alert.candidate.Builder clearObjectidps1() {
6163      objectidps1 = null;
6164      fieldSetFlags()[62] = false;
6165      return this;
6166    }
6167
6168    /**
6169      * Gets the value of the 'objectidps2' field.
6170      * Object ID of second closest source from PS1 catalog; if exists within 30 arcsec
6171      * @return The value.
6172      */
6173    public java.lang.Long getObjectidps2() {
6174      return objectidps2;
6175    }
6176
6177    /**
6178      * Sets the value of the 'objectidps2' field.
6179      * Object ID of second closest source from PS1 catalog; if exists within 30 arcsec
6180      * @param value The value of 'objectidps2'.
6181      * @return This builder.
6182      */
6183    public ztf.alert.candidate.Builder setObjectidps2(java.lang.Long value) {
6184      validate(fields()[63], value);
6185      this.objectidps2 = value;
6186      fieldSetFlags()[63] = true;
6187      return this;
6188    }
6189
6190    /**
6191      * Checks whether the 'objectidps2' field has been set.
6192      * Object ID of second closest source from PS1 catalog; if exists within 30 arcsec
6193      * @return True if the 'objectidps2' field has been set, false otherwise.
6194      */
6195    public boolean hasObjectidps2() {
6196      return fieldSetFlags()[63];
6197    }
6198
6199
6200    /**
6201      * Clears the value of the 'objectidps2' field.
6202      * Object ID of second closest source from PS1 catalog; if exists within 30 arcsec
6203      * @return This builder.
6204      */
6205    public ztf.alert.candidate.Builder clearObjectidps2() {
6206      objectidps2 = null;
6207      fieldSetFlags()[63] = false;
6208      return this;
6209    }
6210
6211    /**
6212      * Gets the value of the 'sgmag2' field.
6213      * g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6214      * @return The value.
6215      */
6216    public java.lang.Float getSgmag2() {
6217      return sgmag2;
6218    }
6219
6220    /**
6221      * Sets the value of the 'sgmag2' field.
6222      * g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6223      * @param value The value of 'sgmag2'.
6224      * @return This builder.
6225      */
6226    public ztf.alert.candidate.Builder setSgmag2(java.lang.Float value) {
6227      validate(fields()[64], value);
6228      this.sgmag2 = value;
6229      fieldSetFlags()[64] = true;
6230      return this;
6231    }
6232
6233    /**
6234      * Checks whether the 'sgmag2' field has been set.
6235      * g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6236      * @return True if the 'sgmag2' field has been set, false otherwise.
6237      */
6238    public boolean hasSgmag2() {
6239      return fieldSetFlags()[64];
6240    }
6241
6242
6243    /**
6244      * Clears the value of the 'sgmag2' field.
6245      * g-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6246      * @return This builder.
6247      */
6248    public ztf.alert.candidate.Builder clearSgmag2() {
6249      sgmag2 = null;
6250      fieldSetFlags()[64] = false;
6251      return this;
6252    }
6253
6254    /**
6255      * Gets the value of the 'srmag2' field.
6256      * r-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6257      * @return The value.
6258      */
6259    public java.lang.Float getSrmag2() {
6260      return srmag2;
6261    }
6262
6263    /**
6264      * Sets the value of the 'srmag2' field.
6265      * r-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6266      * @param value The value of 'srmag2'.
6267      * @return This builder.
6268      */
6269    public ztf.alert.candidate.Builder setSrmag2(java.lang.Float value) {
6270      validate(fields()[65], value);
6271      this.srmag2 = value;
6272      fieldSetFlags()[65] = true;
6273      return this;
6274    }
6275
6276    /**
6277      * Checks whether the 'srmag2' field has been set.
6278      * r-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6279      * @return True if the 'srmag2' field has been set, false otherwise.
6280      */
6281    public boolean hasSrmag2() {
6282      return fieldSetFlags()[65];
6283    }
6284
6285
6286    /**
6287      * Clears the value of the 'srmag2' field.
6288      * r-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6289      * @return This builder.
6290      */
6291    public ztf.alert.candidate.Builder clearSrmag2() {
6292      srmag2 = null;
6293      fieldSetFlags()[65] = false;
6294      return this;
6295    }
6296
6297    /**
6298      * Gets the value of the 'simag2' field.
6299      * i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6300      * @return The value.
6301      */
6302    public java.lang.Float getSimag2() {
6303      return simag2;
6304    }
6305
6306    /**
6307      * Sets the value of the 'simag2' field.
6308      * i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6309      * @param value The value of 'simag2'.
6310      * @return This builder.
6311      */
6312    public ztf.alert.candidate.Builder setSimag2(java.lang.Float value) {
6313      validate(fields()[66], value);
6314      this.simag2 = value;
6315      fieldSetFlags()[66] = true;
6316      return this;
6317    }
6318
6319    /**
6320      * Checks whether the 'simag2' field has been set.
6321      * i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6322      * @return True if the 'simag2' field has been set, false otherwise.
6323      */
6324    public boolean hasSimag2() {
6325      return fieldSetFlags()[66];
6326    }
6327
6328
6329    /**
6330      * Clears the value of the 'simag2' field.
6331      * i-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6332      * @return This builder.
6333      */
6334    public ztf.alert.candidate.Builder clearSimag2() {
6335      simag2 = null;
6336      fieldSetFlags()[66] = false;
6337      return this;
6338    }
6339
6340    /**
6341      * Gets the value of the 'szmag2' field.
6342      * z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6343      * @return The value.
6344      */
6345    public java.lang.Float getSzmag2() {
6346      return szmag2;
6347    }
6348
6349    /**
6350      * Sets the value of the 'szmag2' field.
6351      * z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6352      * @param value The value of 'szmag2'.
6353      * @return This builder.
6354      */
6355    public ztf.alert.candidate.Builder setSzmag2(java.lang.Float value) {
6356      validate(fields()[67], value);
6357      this.szmag2 = value;
6358      fieldSetFlags()[67] = true;
6359      return this;
6360    }
6361
6362    /**
6363      * Checks whether the 'szmag2' field has been set.
6364      * z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6365      * @return True if the 'szmag2' field has been set, false otherwise.
6366      */
6367    public boolean hasSzmag2() {
6368      return fieldSetFlags()[67];
6369    }
6370
6371
6372    /**
6373      * Clears the value of the 'szmag2' field.
6374      * z-band PSF-fit magnitude of second closest source from PS1 catalog; if exists within 30 arcsec [mag]
6375      * @return This builder.
6376      */
6377    public ztf.alert.candidate.Builder clearSzmag2() {
6378      szmag2 = null;
6379      fieldSetFlags()[67] = false;
6380      return this;
6381    }
6382
6383    /**
6384      * Gets the value of the 'sgscore2' field.
6385      * Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
6386      * @return The value.
6387      */
6388    public java.lang.Float getSgscore2() {
6389      return sgscore2;
6390    }
6391
6392    /**
6393      * Sets the value of the 'sgscore2' field.
6394      * Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
6395      * @param value The value of 'sgscore2'.
6396      * @return This builder.
6397      */
6398    public ztf.alert.candidate.Builder setSgscore2(java.lang.Float value) {
6399      validate(fields()[68], value);
6400      this.sgscore2 = value;
6401      fieldSetFlags()[68] = true;
6402      return this;
6403    }
6404
6405    /**
6406      * Checks whether the 'sgscore2' field has been set.
6407      * Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
6408      * @return True if the 'sgscore2' field has been set, false otherwise.
6409      */
6410    public boolean hasSgscore2() {
6411      return fieldSetFlags()[68];
6412    }
6413
6414
6415    /**
6416      * Clears the value of the 'sgscore2' field.
6417      * Star/Galaxy score of second closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
6418      * @return This builder.
6419      */
6420    public ztf.alert.candidate.Builder clearSgscore2() {
6421      sgscore2 = null;
6422      fieldSetFlags()[68] = false;
6423      return this;
6424    }
6425
6426    /**
6427      * Gets the value of the 'distpsnr2' field.
6428      * Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
6429      * @return The value.
6430      */
6431    public java.lang.Float getDistpsnr2() {
6432      return distpsnr2;
6433    }
6434
6435    /**
6436      * Sets the value of the 'distpsnr2' field.
6437      * Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
6438      * @param value The value of 'distpsnr2'.
6439      * @return This builder.
6440      */
6441    public ztf.alert.candidate.Builder setDistpsnr2(java.lang.Float value) {
6442      validate(fields()[69], value);
6443      this.distpsnr2 = value;
6444      fieldSetFlags()[69] = true;
6445      return this;
6446    }
6447
6448    /**
6449      * Checks whether the 'distpsnr2' field has been set.
6450      * Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
6451      * @return True if the 'distpsnr2' field has been set, false otherwise.
6452      */
6453    public boolean hasDistpsnr2() {
6454      return fieldSetFlags()[69];
6455    }
6456
6457
6458    /**
6459      * Clears the value of the 'distpsnr2' field.
6460      * Distance to second closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
6461      * @return This builder.
6462      */
6463    public ztf.alert.candidate.Builder clearDistpsnr2() {
6464      distpsnr2 = null;
6465      fieldSetFlags()[69] = false;
6466      return this;
6467    }
6468
6469    /**
6470      * Gets the value of the 'objectidps3' field.
6471      * Object ID of third closest source from PS1 catalog; if exists within 30 arcsec
6472      * @return The value.
6473      */
6474    public java.lang.Long getObjectidps3() {
6475      return objectidps3;
6476    }
6477
6478    /**
6479      * Sets the value of the 'objectidps3' field.
6480      * Object ID of third closest source from PS1 catalog; if exists within 30 arcsec
6481      * @param value The value of 'objectidps3'.
6482      * @return This builder.
6483      */
6484    public ztf.alert.candidate.Builder setObjectidps3(java.lang.Long value) {
6485      validate(fields()[70], value);
6486      this.objectidps3 = value;
6487      fieldSetFlags()[70] = true;
6488      return this;
6489    }
6490
6491    /**
6492      * Checks whether the 'objectidps3' field has been set.
6493      * Object ID of third closest source from PS1 catalog; if exists within 30 arcsec
6494      * @return True if the 'objectidps3' field has been set, false otherwise.
6495      */
6496    public boolean hasObjectidps3() {
6497      return fieldSetFlags()[70];
6498    }
6499
6500
6501    /**
6502      * Clears the value of the 'objectidps3' field.
6503      * Object ID of third closest source from PS1 catalog; if exists within 30 arcsec
6504      * @return This builder.
6505      */
6506    public ztf.alert.candidate.Builder clearObjectidps3() {
6507      objectidps3 = null;
6508      fieldSetFlags()[70] = false;
6509      return this;
6510    }
6511
6512    /**
6513      * Gets the value of the 'sgmag3' field.
6514      * g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6515      * @return The value.
6516      */
6517    public java.lang.Float getSgmag3() {
6518      return sgmag3;
6519    }
6520
6521    /**
6522      * Sets the value of the 'sgmag3' field.
6523      * g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6524      * @param value The value of 'sgmag3'.
6525      * @return This builder.
6526      */
6527    public ztf.alert.candidate.Builder setSgmag3(java.lang.Float value) {
6528      validate(fields()[71], value);
6529      this.sgmag3 = value;
6530      fieldSetFlags()[71] = true;
6531      return this;
6532    }
6533
6534    /**
6535      * Checks whether the 'sgmag3' field has been set.
6536      * g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6537      * @return True if the 'sgmag3' field has been set, false otherwise.
6538      */
6539    public boolean hasSgmag3() {
6540      return fieldSetFlags()[71];
6541    }
6542
6543
6544    /**
6545      * Clears the value of the 'sgmag3' field.
6546      * g-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6547      * @return This builder.
6548      */
6549    public ztf.alert.candidate.Builder clearSgmag3() {
6550      sgmag3 = null;
6551      fieldSetFlags()[71] = false;
6552      return this;
6553    }
6554
6555    /**
6556      * Gets the value of the 'srmag3' field.
6557      * r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6558      * @return The value.
6559      */
6560    public java.lang.Float getSrmag3() {
6561      return srmag3;
6562    }
6563
6564    /**
6565      * Sets the value of the 'srmag3' field.
6566      * r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6567      * @param value The value of 'srmag3'.
6568      * @return This builder.
6569      */
6570    public ztf.alert.candidate.Builder setSrmag3(java.lang.Float value) {
6571      validate(fields()[72], value);
6572      this.srmag3 = value;
6573      fieldSetFlags()[72] = true;
6574      return this;
6575    }
6576
6577    /**
6578      * Checks whether the 'srmag3' field has been set.
6579      * r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6580      * @return True if the 'srmag3' field has been set, false otherwise.
6581      */
6582    public boolean hasSrmag3() {
6583      return fieldSetFlags()[72];
6584    }
6585
6586
6587    /**
6588      * Clears the value of the 'srmag3' field.
6589      * r-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6590      * @return This builder.
6591      */
6592    public ztf.alert.candidate.Builder clearSrmag3() {
6593      srmag3 = null;
6594      fieldSetFlags()[72] = false;
6595      return this;
6596    }
6597
6598    /**
6599      * Gets the value of the 'simag3' field.
6600      * i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6601      * @return The value.
6602      */
6603    public java.lang.Float getSimag3() {
6604      return simag3;
6605    }
6606
6607    /**
6608      * Sets the value of the 'simag3' field.
6609      * i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6610      * @param value The value of 'simag3'.
6611      * @return This builder.
6612      */
6613    public ztf.alert.candidate.Builder setSimag3(java.lang.Float value) {
6614      validate(fields()[73], value);
6615      this.simag3 = value;
6616      fieldSetFlags()[73] = true;
6617      return this;
6618    }
6619
6620    /**
6621      * Checks whether the 'simag3' field has been set.
6622      * i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6623      * @return True if the 'simag3' field has been set, false otherwise.
6624      */
6625    public boolean hasSimag3() {
6626      return fieldSetFlags()[73];
6627    }
6628
6629
6630    /**
6631      * Clears the value of the 'simag3' field.
6632      * i-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6633      * @return This builder.
6634      */
6635    public ztf.alert.candidate.Builder clearSimag3() {
6636      simag3 = null;
6637      fieldSetFlags()[73] = false;
6638      return this;
6639    }
6640
6641    /**
6642      * Gets the value of the 'szmag3' field.
6643      * z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6644      * @return The value.
6645      */
6646    public java.lang.Float getSzmag3() {
6647      return szmag3;
6648    }
6649
6650    /**
6651      * Sets the value of the 'szmag3' field.
6652      * z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6653      * @param value The value of 'szmag3'.
6654      * @return This builder.
6655      */
6656    public ztf.alert.candidate.Builder setSzmag3(java.lang.Float value) {
6657      validate(fields()[74], value);
6658      this.szmag3 = value;
6659      fieldSetFlags()[74] = true;
6660      return this;
6661    }
6662
6663    /**
6664      * Checks whether the 'szmag3' field has been set.
6665      * z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6666      * @return True if the 'szmag3' field has been set, false otherwise.
6667      */
6668    public boolean hasSzmag3() {
6669      return fieldSetFlags()[74];
6670    }
6671
6672
6673    /**
6674      * Clears the value of the 'szmag3' field.
6675      * z-band PSF-fit magnitude of third closest source from PS1 catalog; if exists within 30 arcsec [mag]
6676      * @return This builder.
6677      */
6678    public ztf.alert.candidate.Builder clearSzmag3() {
6679      szmag3 = null;
6680      fieldSetFlags()[74] = false;
6681      return this;
6682    }
6683
6684    /**
6685      * Gets the value of the 'sgscore3' field.
6686      * Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
6687      * @return The value.
6688      */
6689    public java.lang.Float getSgscore3() {
6690      return sgscore3;
6691    }
6692
6693    /**
6694      * Sets the value of the 'sgscore3' field.
6695      * Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
6696      * @param value The value of 'sgscore3'.
6697      * @return This builder.
6698      */
6699    public ztf.alert.candidate.Builder setSgscore3(java.lang.Float value) {
6700      validate(fields()[75], value);
6701      this.sgscore3 = value;
6702      fieldSetFlags()[75] = true;
6703      return this;
6704    }
6705
6706    /**
6707      * Checks whether the 'sgscore3' field has been set.
6708      * Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
6709      * @return True if the 'sgscore3' field has been set, false otherwise.
6710      */
6711    public boolean hasSgscore3() {
6712      return fieldSetFlags()[75];
6713    }
6714
6715
6716    /**
6717      * Clears the value of the 'sgscore3' field.
6718      * Star/Galaxy score of third closest source from PS1 catalog; if exists within 30 arcsec: 0 <= sgscore <= 1 where closer to 1 implies higher likelihood of being a star
6719      * @return This builder.
6720      */
6721    public ztf.alert.candidate.Builder clearSgscore3() {
6722      sgscore3 = null;
6723      fieldSetFlags()[75] = false;
6724      return this;
6725    }
6726
6727    /**
6728      * Gets the value of the 'distpsnr3' field.
6729      * Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
6730      * @return The value.
6731      */
6732    public java.lang.Float getDistpsnr3() {
6733      return distpsnr3;
6734    }
6735
6736    /**
6737      * Sets the value of the 'distpsnr3' field.
6738      * Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
6739      * @param value The value of 'distpsnr3'.
6740      * @return This builder.
6741      */
6742    public ztf.alert.candidate.Builder setDistpsnr3(java.lang.Float value) {
6743      validate(fields()[76], value);
6744      this.distpsnr3 = value;
6745      fieldSetFlags()[76] = true;
6746      return this;
6747    }
6748
6749    /**
6750      * Checks whether the 'distpsnr3' field has been set.
6751      * Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
6752      * @return True if the 'distpsnr3' field has been set, false otherwise.
6753      */
6754    public boolean hasDistpsnr3() {
6755      return fieldSetFlags()[76];
6756    }
6757
6758
6759    /**
6760      * Clears the value of the 'distpsnr3' field.
6761      * Distance to third closest source from PS1 catalog; if exists within 30 arcsec [arcsec]
6762      * @return This builder.
6763      */
6764    public ztf.alert.candidate.Builder clearDistpsnr3() {
6765      distpsnr3 = null;
6766      fieldSetFlags()[76] = false;
6767      return this;
6768    }
6769
6770    /**
6771      * Gets the value of the 'nmtchps' field.
6772      * Number of source matches from PS1 catalog falling within 30 arcsec
6773      * @return The value.
6774      */
6775    public java.lang.Integer getNmtchps() {
6776      return nmtchps;
6777    }
6778
6779    /**
6780      * Sets the value of the 'nmtchps' field.
6781      * Number of source matches from PS1 catalog falling within 30 arcsec
6782      * @param value The value of 'nmtchps'.
6783      * @return This builder.
6784      */
6785    public ztf.alert.candidate.Builder setNmtchps(int value) {
6786      validate(fields()[77], value);
6787      this.nmtchps = value;
6788      fieldSetFlags()[77] = true;
6789      return this;
6790    }
6791
6792    /**
6793      * Checks whether the 'nmtchps' field has been set.
6794      * Number of source matches from PS1 catalog falling within 30 arcsec
6795      * @return True if the 'nmtchps' field has been set, false otherwise.
6796      */
6797    public boolean hasNmtchps() {
6798      return fieldSetFlags()[77];
6799    }
6800
6801
6802    /**
6803      * Clears the value of the 'nmtchps' field.
6804      * Number of source matches from PS1 catalog falling within 30 arcsec
6805      * @return This builder.
6806      */
6807    public ztf.alert.candidate.Builder clearNmtchps() {
6808      fieldSetFlags()[77] = false;
6809      return this;
6810    }
6811
6812    /**
6813      * Gets the value of the 'rfid' field.
6814      * Processing ID for reference image to facilitate archive retrieval
6815      * @return The value.
6816      */
6817    public java.lang.Long getRfid() {
6818      return rfid;
6819    }
6820
6821    /**
6822      * Sets the value of the 'rfid' field.
6823      * Processing ID for reference image to facilitate archive retrieval
6824      * @param value The value of 'rfid'.
6825      * @return This builder.
6826      */
6827    public ztf.alert.candidate.Builder setRfid(long value) {
6828      validate(fields()[78], value);
6829      this.rfid = value;
6830      fieldSetFlags()[78] = true;
6831      return this;
6832    }
6833
6834    /**
6835      * Checks whether the 'rfid' field has been set.
6836      * Processing ID for reference image to facilitate archive retrieval
6837      * @return True if the 'rfid' field has been set, false otherwise.
6838      */
6839    public boolean hasRfid() {
6840      return fieldSetFlags()[78];
6841    }
6842
6843
6844    /**
6845      * Clears the value of the 'rfid' field.
6846      * Processing ID for reference image to facilitate archive retrieval
6847      * @return This builder.
6848      */
6849    public ztf.alert.candidate.Builder clearRfid() {
6850      fieldSetFlags()[78] = false;
6851      return this;
6852    }
6853
6854    /**
6855      * Gets the value of the 'jdstartref' field.
6856      * Observation Julian date of earliest exposure used to generate reference image [days]
6857      * @return The value.
6858      */
6859    public java.lang.Double getJdstartref() {
6860      return jdstartref;
6861    }
6862
6863    /**
6864      * Sets the value of the 'jdstartref' field.
6865      * Observation Julian date of earliest exposure used to generate reference image [days]
6866      * @param value The value of 'jdstartref'.
6867      * @return This builder.
6868      */
6869    public ztf.alert.candidate.Builder setJdstartref(double value) {
6870      validate(fields()[79], value);
6871      this.jdstartref = value;
6872      fieldSetFlags()[79] = true;
6873      return this;
6874    }
6875
6876    /**
6877      * Checks whether the 'jdstartref' field has been set.
6878      * Observation Julian date of earliest exposure used to generate reference image [days]
6879      * @return True if the 'jdstartref' field has been set, false otherwise.
6880      */
6881    public boolean hasJdstartref() {
6882      return fieldSetFlags()[79];
6883    }
6884
6885
6886    /**
6887      * Clears the value of the 'jdstartref' field.
6888      * Observation Julian date of earliest exposure used to generate reference image [days]
6889      * @return This builder.
6890      */
6891    public ztf.alert.candidate.Builder clearJdstartref() {
6892      fieldSetFlags()[79] = false;
6893      return this;
6894    }
6895
6896    /**
6897      * Gets the value of the 'jdendref' field.
6898      * Observation Julian date of latest exposure used to generate reference image [days]
6899      * @return The value.
6900      */
6901    public java.lang.Double getJdendref() {
6902      return jdendref;
6903    }
6904
6905    /**
6906      * Sets the value of the 'jdendref' field.
6907      * Observation Julian date of latest exposure used to generate reference image [days]
6908      * @param value The value of 'jdendref'.
6909      * @return This builder.
6910      */
6911    public ztf.alert.candidate.Builder setJdendref(double value) {
6912      validate(fields()[80], value);
6913      this.jdendref = value;
6914      fieldSetFlags()[80] = true;
6915      return this;
6916    }
6917
6918    /**
6919      * Checks whether the 'jdendref' field has been set.
6920      * Observation Julian date of latest exposure used to generate reference image [days]
6921      * @return True if the 'jdendref' field has been set, false otherwise.
6922      */
6923    public boolean hasJdendref() {
6924      return fieldSetFlags()[80];
6925    }
6926
6927
6928    /**
6929      * Clears the value of the 'jdendref' field.
6930      * Observation Julian date of latest exposure used to generate reference image [days]
6931      * @return This builder.
6932      */
6933    public ztf.alert.candidate.Builder clearJdendref() {
6934      fieldSetFlags()[80] = false;
6935      return this;
6936    }
6937
6938    /**
6939      * Gets the value of the 'nframesref' field.
6940      * Number of frames (epochal images) used to generate reference image
6941      * @return The value.
6942      */
6943    public java.lang.Integer getNframesref() {
6944      return nframesref;
6945    }
6946
6947    /**
6948      * Sets the value of the 'nframesref' field.
6949      * Number of frames (epochal images) used to generate reference image
6950      * @param value The value of 'nframesref'.
6951      * @return This builder.
6952      */
6953    public ztf.alert.candidate.Builder setNframesref(int value) {
6954      validate(fields()[81], value);
6955      this.nframesref = value;
6956      fieldSetFlags()[81] = true;
6957      return this;
6958    }
6959
6960    /**
6961      * Checks whether the 'nframesref' field has been set.
6962      * Number of frames (epochal images) used to generate reference image
6963      * @return True if the 'nframesref' field has been set, false otherwise.
6964      */
6965    public boolean hasNframesref() {
6966      return fieldSetFlags()[81];
6967    }
6968
6969
6970    /**
6971      * Clears the value of the 'nframesref' field.
6972      * Number of frames (epochal images) used to generate reference image
6973      * @return This builder.
6974      */
6975    public ztf.alert.candidate.Builder clearNframesref() {
6976      fieldSetFlags()[81] = false;
6977      return this;
6978    }
6979
6980    /**
6981      * Gets the value of the 'rbversion' field.
6982      * version of RealBogus model/classifier used to assign rb quality score
6983      * @return The value.
6984      */
6985    public java.lang.CharSequence getRbversion() {
6986      return rbversion;
6987    }
6988
6989    /**
6990      * Sets the value of the 'rbversion' field.
6991      * version of RealBogus model/classifier used to assign rb quality score
6992      * @param value The value of 'rbversion'.
6993      * @return This builder.
6994      */
6995    public ztf.alert.candidate.Builder setRbversion(java.lang.CharSequence value) {
6996      validate(fields()[82], value);
6997      this.rbversion = value;
6998      fieldSetFlags()[82] = true;
6999      return this;
7000    }
7001
7002    /**
7003      * Checks whether the 'rbversion' field has been set.
7004      * version of RealBogus model/classifier used to assign rb quality score
7005      * @return True if the 'rbversion' field has been set, false otherwise.
7006      */
7007    public boolean hasRbversion() {
7008      return fieldSetFlags()[82];
7009    }
7010
7011
7012    /**
7013      * Clears the value of the 'rbversion' field.
7014      * version of RealBogus model/classifier used to assign rb quality score
7015      * @return This builder.
7016      */
7017    public ztf.alert.candidate.Builder clearRbversion() {
7018      rbversion = null;
7019      fieldSetFlags()[82] = false;
7020      return this;
7021    }
7022
7023    /**
7024      * Gets the value of the 'dsnrms' field.
7025      * Ratio: D/stddev(D) on event position where D = difference image
7026      * @return The value.
7027      */
7028    public java.lang.Float getDsnrms() {
7029      return dsnrms;
7030    }
7031
7032    /**
7033      * Sets the value of the 'dsnrms' field.
7034      * Ratio: D/stddev(D) on event position where D = difference image
7035      * @param value The value of 'dsnrms'.
7036      * @return This builder.
7037      */
7038    public ztf.alert.candidate.Builder setDsnrms(java.lang.Float value) {
7039      validate(fields()[83], value);
7040      this.dsnrms = value;
7041      fieldSetFlags()[83] = true;
7042      return this;
7043    }
7044
7045    /**
7046      * Checks whether the 'dsnrms' field has been set.
7047      * Ratio: D/stddev(D) on event position where D = difference image
7048      * @return True if the 'dsnrms' field has been set, false otherwise.
7049      */
7050    public boolean hasDsnrms() {
7051      return fieldSetFlags()[83];
7052    }
7053
7054
7055    /**
7056      * Clears the value of the 'dsnrms' field.
7057      * Ratio: D/stddev(D) on event position where D = difference image
7058      * @return This builder.
7059      */
7060    public ztf.alert.candidate.Builder clearDsnrms() {
7061      dsnrms = null;
7062      fieldSetFlags()[83] = false;
7063      return this;
7064    }
7065
7066    /**
7067      * Gets the value of the 'ssnrms' field.
7068      * Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D)
7069      * @return The value.
7070      */
7071    public java.lang.Float getSsnrms() {
7072      return ssnrms;
7073    }
7074
7075    /**
7076      * Sets the value of the 'ssnrms' field.
7077      * Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D)
7078      * @param value The value of 'ssnrms'.
7079      * @return This builder.
7080      */
7081    public ztf.alert.candidate.Builder setSsnrms(java.lang.Float value) {
7082      validate(fields()[84], value);
7083      this.ssnrms = value;
7084      fieldSetFlags()[84] = true;
7085      return this;
7086    }
7087
7088    /**
7089      * Checks whether the 'ssnrms' field has been set.
7090      * Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D)
7091      * @return True if the 'ssnrms' field has been set, false otherwise.
7092      */
7093    public boolean hasSsnrms() {
7094      return fieldSetFlags()[84];
7095    }
7096
7097
7098    /**
7099      * Clears the value of the 'ssnrms' field.
7100      * Ratio: S/stddev(S) on event position where S = image of convolution: D (x) PSF(D)
7101      * @return This builder.
7102      */
7103    public ztf.alert.candidate.Builder clearSsnrms() {
7104      ssnrms = null;
7105      fieldSetFlags()[84] = false;
7106      return this;
7107    }
7108
7109    /**
7110      * Gets the value of the 'dsdiff' field.
7111      * Difference of statistics: dsnrms - ssnrms
7112      * @return The value.
7113      */
7114    public java.lang.Float getDsdiff() {
7115      return dsdiff;
7116    }
7117
7118    /**
7119      * Sets the value of the 'dsdiff' field.
7120      * Difference of statistics: dsnrms - ssnrms
7121      * @param value The value of 'dsdiff'.
7122      * @return This builder.
7123      */
7124    public ztf.alert.candidate.Builder setDsdiff(java.lang.Float value) {
7125      validate(fields()[85], value);
7126      this.dsdiff = value;
7127      fieldSetFlags()[85] = true;
7128      return this;
7129    }
7130
7131    /**
7132      * Checks whether the 'dsdiff' field has been set.
7133      * Difference of statistics: dsnrms - ssnrms
7134      * @return True if the 'dsdiff' field has been set, false otherwise.
7135      */
7136    public boolean hasDsdiff() {
7137      return fieldSetFlags()[85];
7138    }
7139
7140
7141    /**
7142      * Clears the value of the 'dsdiff' field.
7143      * Difference of statistics: dsnrms - ssnrms
7144      * @return This builder.
7145      */
7146    public ztf.alert.candidate.Builder clearDsdiff() {
7147      dsdiff = null;
7148      fieldSetFlags()[85] = false;
7149      return this;
7150    }
7151
7152    /**
7153      * Gets the value of the 'magzpsci' field.
7154      * Magnitude zero point for photometry estimates [mag]
7155      * @return The value.
7156      */
7157    public java.lang.Float getMagzpsci() {
7158      return magzpsci;
7159    }
7160
7161    /**
7162      * Sets the value of the 'magzpsci' field.
7163      * Magnitude zero point for photometry estimates [mag]
7164      * @param value The value of 'magzpsci'.
7165      * @return This builder.
7166      */
7167    public ztf.alert.candidate.Builder setMagzpsci(java.lang.Float value) {
7168      validate(fields()[86], value);
7169      this.magzpsci = value;
7170      fieldSetFlags()[86] = true;
7171      return this;
7172    }
7173
7174    /**
7175      * Checks whether the 'magzpsci' field has been set.
7176      * Magnitude zero point for photometry estimates [mag]
7177      * @return True if the 'magzpsci' field has been set, false otherwise.
7178      */
7179    public boolean hasMagzpsci() {
7180      return fieldSetFlags()[86];
7181    }
7182
7183
7184    /**
7185      * Clears the value of the 'magzpsci' field.
7186      * Magnitude zero point for photometry estimates [mag]
7187      * @return This builder.
7188      */
7189    public ztf.alert.candidate.Builder clearMagzpsci() {
7190      magzpsci = null;
7191      fieldSetFlags()[86] = false;
7192      return this;
7193    }
7194
7195    /**
7196      * Gets the value of the 'magzpsciunc' field.
7197      * Magnitude zero point uncertainty (in magzpsci) [mag]
7198      * @return The value.
7199      */
7200    public java.lang.Float getMagzpsciunc() {
7201      return magzpsciunc;
7202    }
7203
7204    /**
7205      * Sets the value of the 'magzpsciunc' field.
7206      * Magnitude zero point uncertainty (in magzpsci) [mag]
7207      * @param value The value of 'magzpsciunc'.
7208      * @return This builder.
7209      */
7210    public ztf.alert.candidate.Builder setMagzpsciunc(java.lang.Float value) {
7211      validate(fields()[87], value);
7212      this.magzpsciunc = value;
7213      fieldSetFlags()[87] = true;
7214      return this;
7215    }
7216
7217    /**
7218      * Checks whether the 'magzpsciunc' field has been set.
7219      * Magnitude zero point uncertainty (in magzpsci) [mag]
7220      * @return True if the 'magzpsciunc' field has been set, false otherwise.
7221      */
7222    public boolean hasMagzpsciunc() {
7223      return fieldSetFlags()[87];
7224    }
7225
7226
7227    /**
7228      * Clears the value of the 'magzpsciunc' field.
7229      * Magnitude zero point uncertainty (in magzpsci) [mag]
7230      * @return This builder.
7231      */
7232    public ztf.alert.candidate.Builder clearMagzpsciunc() {
7233      magzpsciunc = null;
7234      fieldSetFlags()[87] = false;
7235      return this;
7236    }
7237
7238    /**
7239      * Gets the value of the 'magzpscirms' field.
7240      * RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
7241      * @return The value.
7242      */
7243    public java.lang.Float getMagzpscirms() {
7244      return magzpscirms;
7245    }
7246
7247    /**
7248      * Sets the value of the 'magzpscirms' field.
7249      * RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
7250      * @param value The value of 'magzpscirms'.
7251      * @return This builder.
7252      */
7253    public ztf.alert.candidate.Builder setMagzpscirms(java.lang.Float value) {
7254      validate(fields()[88], value);
7255      this.magzpscirms = value;
7256      fieldSetFlags()[88] = true;
7257      return this;
7258    }
7259
7260    /**
7261      * Checks whether the 'magzpscirms' field has been set.
7262      * RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
7263      * @return True if the 'magzpscirms' field has been set, false otherwise.
7264      */
7265    public boolean hasMagzpscirms() {
7266      return fieldSetFlags()[88];
7267    }
7268
7269
7270    /**
7271      * Clears the value of the 'magzpscirms' field.
7272      * RMS (deviation from average) in all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
7273      * @return This builder.
7274      */
7275    public ztf.alert.candidate.Builder clearMagzpscirms() {
7276      magzpscirms = null;
7277      fieldSetFlags()[88] = false;
7278      return this;
7279    }
7280
7281    /**
7282      * Gets the value of the 'nmatches' field.
7283      * Number of PS1 photometric calibrators used to calibrate science image from science image processing
7284      * @return The value.
7285      */
7286    public java.lang.Integer getNmatches() {
7287      return nmatches;
7288    }
7289
7290    /**
7291      * Sets the value of the 'nmatches' field.
7292      * Number of PS1 photometric calibrators used to calibrate science image from science image processing
7293      * @param value The value of 'nmatches'.
7294      * @return This builder.
7295      */
7296    public ztf.alert.candidate.Builder setNmatches(int value) {
7297      validate(fields()[89], value);
7298      this.nmatches = value;
7299      fieldSetFlags()[89] = true;
7300      return this;
7301    }
7302
7303    /**
7304      * Checks whether the 'nmatches' field has been set.
7305      * Number of PS1 photometric calibrators used to calibrate science image from science image processing
7306      * @return True if the 'nmatches' field has been set, false otherwise.
7307      */
7308    public boolean hasNmatches() {
7309      return fieldSetFlags()[89];
7310    }
7311
7312
7313    /**
7314      * Clears the value of the 'nmatches' field.
7315      * Number of PS1 photometric calibrators used to calibrate science image from science image processing
7316      * @return This builder.
7317      */
7318    public ztf.alert.candidate.Builder clearNmatches() {
7319      fieldSetFlags()[89] = false;
7320      return this;
7321    }
7322
7323    /**
7324      * Gets the value of the 'clrcoeff' field.
7325      * Color coefficient from linear fit from photometric calibration of science image
7326      * @return The value.
7327      */
7328    public java.lang.Float getClrcoeff() {
7329      return clrcoeff;
7330    }
7331
7332    /**
7333      * Sets the value of the 'clrcoeff' field.
7334      * Color coefficient from linear fit from photometric calibration of science image
7335      * @param value The value of 'clrcoeff'.
7336      * @return This builder.
7337      */
7338    public ztf.alert.candidate.Builder setClrcoeff(java.lang.Float value) {
7339      validate(fields()[90], value);
7340      this.clrcoeff = value;
7341      fieldSetFlags()[90] = true;
7342      return this;
7343    }
7344
7345    /**
7346      * Checks whether the 'clrcoeff' field has been set.
7347      * Color coefficient from linear fit from photometric calibration of science image
7348      * @return True if the 'clrcoeff' field has been set, false otherwise.
7349      */
7350    public boolean hasClrcoeff() {
7351      return fieldSetFlags()[90];
7352    }
7353
7354
7355    /**
7356      * Clears the value of the 'clrcoeff' field.
7357      * Color coefficient from linear fit from photometric calibration of science image
7358      * @return This builder.
7359      */
7360    public ztf.alert.candidate.Builder clearClrcoeff() {
7361      clrcoeff = null;
7362      fieldSetFlags()[90] = false;
7363      return this;
7364    }
7365
7366    /**
7367      * Gets the value of the 'clrcounc' field.
7368      * Color coefficient uncertainty from linear fit (corresponding to clrcoeff)
7369      * @return The value.
7370      */
7371    public java.lang.Float getClrcounc() {
7372      return clrcounc;
7373    }
7374
7375    /**
7376      * Sets the value of the 'clrcounc' field.
7377      * Color coefficient uncertainty from linear fit (corresponding to clrcoeff)
7378      * @param value The value of 'clrcounc'.
7379      * @return This builder.
7380      */
7381    public ztf.alert.candidate.Builder setClrcounc(java.lang.Float value) {
7382      validate(fields()[91], value);
7383      this.clrcounc = value;
7384      fieldSetFlags()[91] = true;
7385      return this;
7386    }
7387
7388    /**
7389      * Checks whether the 'clrcounc' field has been set.
7390      * Color coefficient uncertainty from linear fit (corresponding to clrcoeff)
7391      * @return True if the 'clrcounc' field has been set, false otherwise.
7392      */
7393    public boolean hasClrcounc() {
7394      return fieldSetFlags()[91];
7395    }
7396
7397
7398    /**
7399      * Clears the value of the 'clrcounc' field.
7400      * Color coefficient uncertainty from linear fit (corresponding to clrcoeff)
7401      * @return This builder.
7402      */
7403    public ztf.alert.candidate.Builder clearClrcounc() {
7404      clrcounc = null;
7405      fieldSetFlags()[91] = false;
7406      return this;
7407    }
7408
7409    /**
7410      * Gets the value of the 'zpclrcov' field.
7411      * Covariance in magzpsci and clrcoeff from science image processing [mag^2]
7412      * @return The value.
7413      */
7414    public java.lang.Float getZpclrcov() {
7415      return zpclrcov;
7416    }
7417
7418    /**
7419      * Sets the value of the 'zpclrcov' field.
7420      * Covariance in magzpsci and clrcoeff from science image processing [mag^2]
7421      * @param value The value of 'zpclrcov'.
7422      * @return This builder.
7423      */
7424    public ztf.alert.candidate.Builder setZpclrcov(java.lang.Float value) {
7425      validate(fields()[92], value);
7426      this.zpclrcov = value;
7427      fieldSetFlags()[92] = true;
7428      return this;
7429    }
7430
7431    /**
7432      * Checks whether the 'zpclrcov' field has been set.
7433      * Covariance in magzpsci and clrcoeff from science image processing [mag^2]
7434      * @return True if the 'zpclrcov' field has been set, false otherwise.
7435      */
7436    public boolean hasZpclrcov() {
7437      return fieldSetFlags()[92];
7438    }
7439
7440
7441    /**
7442      * Clears the value of the 'zpclrcov' field.
7443      * Covariance in magzpsci and clrcoeff from science image processing [mag^2]
7444      * @return This builder.
7445      */
7446    public ztf.alert.candidate.Builder clearZpclrcov() {
7447      zpclrcov = null;
7448      fieldSetFlags()[92] = false;
7449      return this;
7450    }
7451
7452    /**
7453      * Gets the value of the 'zpmed' field.
7454      * Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
7455      * @return The value.
7456      */
7457    public java.lang.Float getZpmed() {
7458      return zpmed;
7459    }
7460
7461    /**
7462      * Sets the value of the 'zpmed' field.
7463      * Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
7464      * @param value The value of 'zpmed'.
7465      * @return This builder.
7466      */
7467    public ztf.alert.candidate.Builder setZpmed(java.lang.Float value) {
7468      validate(fields()[93], value);
7469      this.zpmed = value;
7470      fieldSetFlags()[93] = true;
7471      return this;
7472    }
7473
7474    /**
7475      * Checks whether the 'zpmed' field has been set.
7476      * Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
7477      * @return True if the 'zpmed' field has been set, false otherwise.
7478      */
7479    public boolean hasZpmed() {
7480      return fieldSetFlags()[93];
7481    }
7482
7483
7484    /**
7485      * Clears the value of the 'zpmed' field.
7486      * Magnitude zero point from median of all differences between instrumental photometry and matched photometric calibrators from science image processing [mag]
7487      * @return This builder.
7488      */
7489    public ztf.alert.candidate.Builder clearZpmed() {
7490      zpmed = null;
7491      fieldSetFlags()[93] = false;
7492      return this;
7493    }
7494
7495    /**
7496      * Gets the value of the 'clrmed' field.
7497      * Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively
7498      * @return The value.
7499      */
7500    public java.lang.Float getClrmed() {
7501      return clrmed;
7502    }
7503
7504    /**
7505      * Sets the value of the 'clrmed' field.
7506      * Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively
7507      * @param value The value of 'clrmed'.
7508      * @return This builder.
7509      */
7510    public ztf.alert.candidate.Builder setClrmed(java.lang.Float value) {
7511      validate(fields()[94], value);
7512      this.clrmed = value;
7513      fieldSetFlags()[94] = true;
7514      return this;
7515    }
7516
7517    /**
7518      * Checks whether the 'clrmed' field has been set.
7519      * Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively
7520      * @return True if the 'clrmed' field has been set, false otherwise.
7521      */
7522    public boolean hasClrmed() {
7523      return fieldSetFlags()[94];
7524    }
7525
7526
7527    /**
7528      * Clears the value of the 'clrmed' field.
7529      * Median color of all PS1 photometric calibrators used from science image processing [mag]: for filter (fid) = 1, 2, 3, PS1 color used = g-r, g-r, r-i respectively
7530      * @return This builder.
7531      */
7532    public ztf.alert.candidate.Builder clearClrmed() {
7533      clrmed = null;
7534      fieldSetFlags()[94] = false;
7535      return this;
7536    }
7537
7538    /**
7539      * Gets the value of the 'clrrms' field.
7540      * RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag]
7541      * @return The value.
7542      */
7543    public java.lang.Float getClrrms() {
7544      return clrrms;
7545    }
7546
7547    /**
7548      * Sets the value of the 'clrrms' field.
7549      * RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag]
7550      * @param value The value of 'clrrms'.
7551      * @return This builder.
7552      */
7553    public ztf.alert.candidate.Builder setClrrms(java.lang.Float value) {
7554      validate(fields()[95], value);
7555      this.clrrms = value;
7556      fieldSetFlags()[95] = true;
7557      return this;
7558    }
7559
7560    /**
7561      * Checks whether the 'clrrms' field has been set.
7562      * RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag]
7563      * @return True if the 'clrrms' field has been set, false otherwise.
7564      */
7565    public boolean hasClrrms() {
7566      return fieldSetFlags()[95];
7567    }
7568
7569
7570    /**
7571      * Clears the value of the 'clrrms' field.
7572      * RMS color (deviation from average) of all PS1 photometric calibrators used from science image processing [mag]
7573      * @return This builder.
7574      */
7575    public ztf.alert.candidate.Builder clearClrrms() {
7576      clrrms = null;
7577      fieldSetFlags()[95] = false;
7578      return this;
7579    }
7580
7581    /**
7582      * Gets the value of the 'neargaia' field.
7583      * Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec]
7584      * @return The value.
7585      */
7586    public java.lang.Float getNeargaia() {
7587      return neargaia;
7588    }
7589
7590    /**
7591      * Sets the value of the 'neargaia' field.
7592      * Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec]
7593      * @param value The value of 'neargaia'.
7594      * @return This builder.
7595      */
7596    public ztf.alert.candidate.Builder setNeargaia(java.lang.Float value) {
7597      validate(fields()[96], value);
7598      this.neargaia = value;
7599      fieldSetFlags()[96] = true;
7600      return this;
7601    }
7602
7603    /**
7604      * Checks whether the 'neargaia' field has been set.
7605      * Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec]
7606      * @return True if the 'neargaia' field has been set, false otherwise.
7607      */
7608    public boolean hasNeargaia() {
7609      return fieldSetFlags()[96];
7610    }
7611
7612
7613    /**
7614      * Clears the value of the 'neargaia' field.
7615      * Distance to closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [arcsec]
7616      * @return This builder.
7617      */
7618    public ztf.alert.candidate.Builder clearNeargaia() {
7619      neargaia = null;
7620      fieldSetFlags()[96] = false;
7621      return this;
7622    }
7623
7624    /**
7625      * Gets the value of the 'neargaiabright' field.
7626      * Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec]
7627      * @return The value.
7628      */
7629    public java.lang.Float getNeargaiabright() {
7630      return neargaiabright;
7631    }
7632
7633    /**
7634      * Sets the value of the 'neargaiabright' field.
7635      * Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec]
7636      * @param value The value of 'neargaiabright'.
7637      * @return This builder.
7638      */
7639    public ztf.alert.candidate.Builder setNeargaiabright(java.lang.Float value) {
7640      validate(fields()[97], value);
7641      this.neargaiabright = value;
7642      fieldSetFlags()[97] = true;
7643      return this;
7644    }
7645
7646    /**
7647      * Checks whether the 'neargaiabright' field has been set.
7648      * Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec]
7649      * @return True if the 'neargaiabright' field has been set, false otherwise.
7650      */
7651    public boolean hasNeargaiabright() {
7652      return fieldSetFlags()[97];
7653    }
7654
7655
7656    /**
7657      * Clears the value of the 'neargaiabright' field.
7658      * Distance to closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [arcsec]
7659      * @return This builder.
7660      */
7661    public ztf.alert.candidate.Builder clearNeargaiabright() {
7662      neargaiabright = null;
7663      fieldSetFlags()[97] = false;
7664      return this;
7665    }
7666
7667    /**
7668      * Gets the value of the 'maggaia' field.
7669      * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag]
7670      * @return The value.
7671      */
7672    public java.lang.Float getMaggaia() {
7673      return maggaia;
7674    }
7675
7676    /**
7677      * Sets the value of the 'maggaia' field.
7678      * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag]
7679      * @param value The value of 'maggaia'.
7680      * @return This builder.
7681      */
7682    public ztf.alert.candidate.Builder setMaggaia(java.lang.Float value) {
7683      validate(fields()[98], value);
7684      this.maggaia = value;
7685      fieldSetFlags()[98] = true;
7686      return this;
7687    }
7688
7689    /**
7690      * Checks whether the 'maggaia' field has been set.
7691      * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag]
7692      * @return True if the 'maggaia' field has been set, false otherwise.
7693      */
7694    public boolean hasMaggaia() {
7695      return fieldSetFlags()[98];
7696    }
7697
7698
7699    /**
7700      * Clears the value of the 'maggaia' field.
7701      * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog irrespective of magnitude; if exists within 90 arcsec [mag]
7702      * @return This builder.
7703      */
7704    public ztf.alert.candidate.Builder clearMaggaia() {
7705      maggaia = null;
7706      fieldSetFlags()[98] = false;
7707      return this;
7708    }
7709
7710    /**
7711      * Gets the value of the 'maggaiabright' field.
7712      * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag]
7713      * @return The value.
7714      */
7715    public java.lang.Float getMaggaiabright() {
7716      return maggaiabright;
7717    }
7718
7719    /**
7720      * Sets the value of the 'maggaiabright' field.
7721      * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag]
7722      * @param value The value of 'maggaiabright'.
7723      * @return This builder.
7724      */
7725    public ztf.alert.candidate.Builder setMaggaiabright(java.lang.Float value) {
7726      validate(fields()[99], value);
7727      this.maggaiabright = value;
7728      fieldSetFlags()[99] = true;
7729      return this;
7730    }
7731
7732    /**
7733      * Checks whether the 'maggaiabright' field has been set.
7734      * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag]
7735      * @return True if the 'maggaiabright' field has been set, false otherwise.
7736      */
7737    public boolean hasMaggaiabright() {
7738      return fieldSetFlags()[99];
7739    }
7740
7741
7742    /**
7743      * Clears the value of the 'maggaiabright' field.
7744      * Gaia (G-band) magnitude of closest source from Gaia DR1 catalog brighter than magnitude 14; if exists within 90 arcsec [mag]
7745      * @return This builder.
7746      */
7747    public ztf.alert.candidate.Builder clearMaggaiabright() {
7748      maggaiabright = null;
7749      fieldSetFlags()[99] = false;
7750      return this;
7751    }
7752
7753    /**
7754      * Gets the value of the 'exptime' field.
7755      * Integration time of camera exposure [sec]
7756      * @return The value.
7757      */
7758    public java.lang.Float getExptime() {
7759      return exptime;
7760    }
7761
7762    /**
7763      * Sets the value of the 'exptime' field.
7764      * Integration time of camera exposure [sec]
7765      * @param value The value of 'exptime'.
7766      * @return This builder.
7767      */
7768    public ztf.alert.candidate.Builder setExptime(java.lang.Float value) {
7769      validate(fields()[100], value);
7770      this.exptime = value;
7771      fieldSetFlags()[100] = true;
7772      return this;
7773    }
7774
7775    /**
7776      * Checks whether the 'exptime' field has been set.
7777      * Integration time of camera exposure [sec]
7778      * @return True if the 'exptime' field has been set, false otherwise.
7779      */
7780    public boolean hasExptime() {
7781      return fieldSetFlags()[100];
7782    }
7783
7784
7785    /**
7786      * Clears the value of the 'exptime' field.
7787      * Integration time of camera exposure [sec]
7788      * @return This builder.
7789      */
7790    public ztf.alert.candidate.Builder clearExptime() {
7791      exptime = null;
7792      fieldSetFlags()[100] = false;
7793      return this;
7794    }
7795
7796    @Override
7797    @SuppressWarnings("unchecked")
7798    public candidate build() {
7799      try {
7800        candidate record = new candidate();
7801        record.jd = fieldSetFlags()[0] ? this.jd : (java.lang.Double) defaultValue(fields()[0]);
7802        record.fid = fieldSetFlags()[1] ? this.fid : (java.lang.Integer) defaultValue(fields()[1]);
7803        record.pid = fieldSetFlags()[2] ? this.pid : (java.lang.Long) defaultValue(fields()[2]);
7804        record.diffmaglim = fieldSetFlags()[3] ? this.diffmaglim : (java.lang.Float) defaultValue(fields()[3]);
7805        record.pdiffimfilename = fieldSetFlags()[4] ? this.pdiffimfilename : (java.lang.CharSequence) defaultValue(fields()[4]);
7806        record.programpi = fieldSetFlags()[5] ? this.programpi : (java.lang.CharSequence) defaultValue(fields()[5]);
7807        record.programid = fieldSetFlags()[6] ? this.programid : (java.lang.Integer) defaultValue(fields()[6]);
7808        record.candid = fieldSetFlags()[7] ? this.candid : (java.lang.Long) defaultValue(fields()[7]);
7809        record.isdiffpos = fieldSetFlags()[8] ? this.isdiffpos : (java.lang.CharSequence) defaultValue(fields()[8]);
7810        record.tblid = fieldSetFlags()[9] ? this.tblid : (java.lang.Long) defaultValue(fields()[9]);
7811        record.nid = fieldSetFlags()[10] ? this.nid : (java.lang.Integer) defaultValue(fields()[10]);
7812        record.rcid = fieldSetFlags()[11] ? this.rcid : (java.lang.Integer) defaultValue(fields()[11]);
7813        record.field = fieldSetFlags()[12] ? this.field : (java.lang.Integer) defaultValue(fields()[12]);
7814        record.xpos = fieldSetFlags()[13] ? this.xpos : (java.lang.Float) defaultValue(fields()[13]);
7815        record.ypos = fieldSetFlags()[14] ? this.ypos : (java.lang.Float) defaultValue(fields()[14]);
7816        record.ra = fieldSetFlags()[15] ? this.ra : (java.lang.Double) defaultValue(fields()[15]);
7817        record.dec = fieldSetFlags()[16] ? this.dec : (java.lang.Double) defaultValue(fields()[16]);
7818        record.magpsf = fieldSetFlags()[17] ? this.magpsf : (java.lang.Float) defaultValue(fields()[17]);
7819        record.sigmapsf = fieldSetFlags()[18] ? this.sigmapsf : (java.lang.Float) defaultValue(fields()[18]);
7820        record.chipsf = fieldSetFlags()[19] ? this.chipsf : (java.lang.Float) defaultValue(fields()[19]);
7821        record.magap = fieldSetFlags()[20] ? this.magap : (java.lang.Float) defaultValue(fields()[20]);
7822        record.sigmagap = fieldSetFlags()[21] ? this.sigmagap : (java.lang.Float) defaultValue(fields()[21]);
7823        record.distnr = fieldSetFlags()[22] ? this.distnr : (java.lang.Float) defaultValue(fields()[22]);
7824        record.magnr = fieldSetFlags()[23] ? this.magnr : (java.lang.Float) defaultValue(fields()[23]);
7825        record.sigmagnr = fieldSetFlags()[24] ? this.sigmagnr : (java.lang.Float) defaultValue(fields()[24]);
7826        record.chinr = fieldSetFlags()[25] ? this.chinr : (java.lang.Float) defaultValue(fields()[25]);
7827        record.sharpnr = fieldSetFlags()[26] ? this.sharpnr : (java.lang.Float) defaultValue(fields()[26]);
7828        record.sky = fieldSetFlags()[27] ? this.sky : (java.lang.Float) defaultValue(fields()[27]);
7829        record.magdiff = fieldSetFlags()[28] ? this.magdiff : (java.lang.Float) defaultValue(fields()[28]);
7830        record.fwhm = fieldSetFlags()[29] ? this.fwhm : (java.lang.Float) defaultValue(fields()[29]);
7831        record.classtar = fieldSetFlags()[30] ? this.classtar : (java.lang.Float) defaultValue(fields()[30]);
7832        record.mindtoedge = fieldSetFlags()[31] ? this.mindtoedge : (java.lang.Float) defaultValue(fields()[31]);
7833        record.magfromlim = fieldSetFlags()[32] ? this.magfromlim : (java.lang.Float) defaultValue(fields()[32]);
7834        record.seeratio = fieldSetFlags()[33] ? this.seeratio : (java.lang.Float) defaultValue(fields()[33]);
7835        record.aimage = fieldSetFlags()[34] ? this.aimage : (java.lang.Float) defaultValue(fields()[34]);
7836        record.bimage = fieldSetFlags()[35] ? this.bimage : (java.lang.Float) defaultValue(fields()[35]);
7837        record.aimagerat = fieldSetFlags()[36] ? this.aimagerat : (java.lang.Float) defaultValue(fields()[36]);
7838        record.bimagerat = fieldSetFlags()[37] ? this.bimagerat : (java.lang.Float) defaultValue(fields()[37]);
7839        record.elong = fieldSetFlags()[38] ? this.elong : (java.lang.Float) defaultValue(fields()[38]);
7840        record.nneg = fieldSetFlags()[39] ? this.nneg : (java.lang.Integer) defaultValue(fields()[39]);
7841        record.nbad = fieldSetFlags()[40] ? this.nbad : (java.lang.Integer) defaultValue(fields()[40]);
7842        record.rb = fieldSetFlags()[41] ? this.rb : (java.lang.Float) defaultValue(fields()[41]);
7843        record.ssdistnr = fieldSetFlags()[42] ? this.ssdistnr : (java.lang.Float) defaultValue(fields()[42]);
7844        record.ssmagnr = fieldSetFlags()[43] ? this.ssmagnr : (java.lang.Float) defaultValue(fields()[43]);
7845        record.ssnamenr = fieldSetFlags()[44] ? this.ssnamenr : (java.lang.CharSequence) defaultValue(fields()[44]);
7846        record.sumrat = fieldSetFlags()[45] ? this.sumrat : (java.lang.Float) defaultValue(fields()[45]);
7847        record.magapbig = fieldSetFlags()[46] ? this.magapbig : (java.lang.Float) defaultValue(fields()[46]);
7848        record.sigmagapbig = fieldSetFlags()[47] ? this.sigmagapbig : (java.lang.Float) defaultValue(fields()[47]);
7849        record.ranr = fieldSetFlags()[48] ? this.ranr : (java.lang.Double) defaultValue(fields()[48]);
7850        record.decnr = fieldSetFlags()[49] ? this.decnr : (java.lang.Double) defaultValue(fields()[49]);
7851        record.sgmag1 = fieldSetFlags()[50] ? this.sgmag1 : (java.lang.Float) defaultValue(fields()[50]);
7852        record.srmag1 = fieldSetFlags()[51] ? this.srmag1 : (java.lang.Float) defaultValue(fields()[51]);
7853        record.simag1 = fieldSetFlags()[52] ? this.simag1 : (java.lang.Float) defaultValue(fields()[52]);
7854        record.szmag1 = fieldSetFlags()[53] ? this.szmag1 : (java.lang.Float) defaultValue(fields()[53]);
7855        record.sgscore1 = fieldSetFlags()[54] ? this.sgscore1 : (java.lang.Float) defaultValue(fields()[54]);
7856        record.distpsnr1 = fieldSetFlags()[55] ? this.distpsnr1 : (java.lang.Float) defaultValue(fields()[55]);
7857        record.ndethist = fieldSetFlags()[56] ? this.ndethist : (java.lang.Integer) defaultValue(fields()[56]);
7858        record.ncovhist = fieldSetFlags()[57] ? this.ncovhist : (java.lang.Integer) defaultValue(fields()[57]);
7859        record.jdstarthist = fieldSetFlags()[58] ? this.jdstarthist : (java.lang.Double) defaultValue(fields()[58]);
7860        record.jdendhist = fieldSetFlags()[59] ? this.jdendhist : (java.lang.Double) defaultValue(fields()[59]);
7861        record.scorr = fieldSetFlags()[60] ? this.scorr : (java.lang.Double) defaultValue(fields()[60]);
7862        record.tooflag = fieldSetFlags()[61] ? this.tooflag : (java.lang.Integer) defaultValue(fields()[61]);
7863        record.objectidps1 = fieldSetFlags()[62] ? this.objectidps1 : (java.lang.Long) defaultValue(fields()[62]);
7864        record.objectidps2 = fieldSetFlags()[63] ? this.objectidps2 : (java.lang.Long) defaultValue(fields()[63]);
7865        record.sgmag2 = fieldSetFlags()[64] ? this.sgmag2 : (java.lang.Float) defaultValue(fields()[64]);
7866        record.srmag2 = fieldSetFlags()[65] ? this.srmag2 : (java.lang.Float) defaultValue(fields()[65]);
7867        record.simag2 = fieldSetFlags()[66] ? this.simag2 : (java.lang.Float) defaultValue(fields()[66]);
7868        record.szmag2 = fieldSetFlags()[67] ? this.szmag2 : (java.lang.Float) defaultValue(fields()[67]);
7869        record.sgscore2 = fieldSetFlags()[68] ? this.sgscore2 : (java.lang.Float) defaultValue(fields()[68]);
7870        record.distpsnr2 = fieldSetFlags()[69] ? this.distpsnr2 : (java.lang.Float) defaultValue(fields()[69]);
7871        record.objectidps3 = fieldSetFlags()[70] ? this.objectidps3 : (java.lang.Long) defaultValue(fields()[70]);
7872        record.sgmag3 = fieldSetFlags()[71] ? this.sgmag3 : (java.lang.Float) defaultValue(fields()[71]);
7873        record.srmag3 = fieldSetFlags()[72] ? this.srmag3 : (java.lang.Float) defaultValue(fields()[72]);
7874        record.simag3 = fieldSetFlags()[73] ? this.simag3 : (java.lang.Float) defaultValue(fields()[73]);
7875        record.szmag3 = fieldSetFlags()[74] ? this.szmag3 : (java.lang.Float) defaultValue(fields()[74]);
7876        record.sgscore3 = fieldSetFlags()[75] ? this.sgscore3 : (java.lang.Float) defaultValue(fields()[75]);
7877        record.distpsnr3 = fieldSetFlags()[76] ? this.distpsnr3 : (java.lang.Float) defaultValue(fields()[76]);
7878        record.nmtchps = fieldSetFlags()[77] ? this.nmtchps : (java.lang.Integer) defaultValue(fields()[77]);
7879        record.rfid = fieldSetFlags()[78] ? this.rfid : (java.lang.Long) defaultValue(fields()[78]);
7880        record.jdstartref = fieldSetFlags()[79] ? this.jdstartref : (java.lang.Double) defaultValue(fields()[79]);
7881        record.jdendref = fieldSetFlags()[80] ? this.jdendref : (java.lang.Double) defaultValue(fields()[80]);
7882        record.nframesref = fieldSetFlags()[81] ? this.nframesref : (java.lang.Integer) defaultValue(fields()[81]);
7883        record.rbversion = fieldSetFlags()[82] ? this.rbversion : (java.lang.CharSequence) defaultValue(fields()[82]);
7884        record.dsnrms = fieldSetFlags()[83] ? this.dsnrms : (java.lang.Float) defaultValue(fields()[83]);
7885        record.ssnrms = fieldSetFlags()[84] ? this.ssnrms : (java.lang.Float) defaultValue(fields()[84]);
7886        record.dsdiff = fieldSetFlags()[85] ? this.dsdiff : (java.lang.Float) defaultValue(fields()[85]);
7887        record.magzpsci = fieldSetFlags()[86] ? this.magzpsci : (java.lang.Float) defaultValue(fields()[86]);
7888        record.magzpsciunc = fieldSetFlags()[87] ? this.magzpsciunc : (java.lang.Float) defaultValue(fields()[87]);
7889        record.magzpscirms = fieldSetFlags()[88] ? this.magzpscirms : (java.lang.Float) defaultValue(fields()[88]);
7890        record.nmatches = fieldSetFlags()[89] ? this.nmatches : (java.lang.Integer) defaultValue(fields()[89]);
7891        record.clrcoeff = fieldSetFlags()[90] ? this.clrcoeff : (java.lang.Float) defaultValue(fields()[90]);
7892        record.clrcounc = fieldSetFlags()[91] ? this.clrcounc : (java.lang.Float) defaultValue(fields()[91]);
7893        record.zpclrcov = fieldSetFlags()[92] ? this.zpclrcov : (java.lang.Float) defaultValue(fields()[92]);
7894        record.zpmed = fieldSetFlags()[93] ? this.zpmed : (java.lang.Float) defaultValue(fields()[93]);
7895        record.clrmed = fieldSetFlags()[94] ? this.clrmed : (java.lang.Float) defaultValue(fields()[94]);
7896        record.clrrms = fieldSetFlags()[95] ? this.clrrms : (java.lang.Float) defaultValue(fields()[95]);
7897        record.neargaia = fieldSetFlags()[96] ? this.neargaia : (java.lang.Float) defaultValue(fields()[96]);
7898        record.neargaiabright = fieldSetFlags()[97] ? this.neargaiabright : (java.lang.Float) defaultValue(fields()[97]);
7899        record.maggaia = fieldSetFlags()[98] ? this.maggaia : (java.lang.Float) defaultValue(fields()[98]);
7900        record.maggaiabright = fieldSetFlags()[99] ? this.maggaiabright : (java.lang.Float) defaultValue(fields()[99]);
7901        record.exptime = fieldSetFlags()[100] ? this.exptime : (java.lang.Float) defaultValue(fields()[100]);
7902        return record;
7903      } catch (java.lang.Exception e) {
7904        throw new org.apache.avro.AvroRuntimeException(e);
7905      }
7906    }
7907  }
7908
7909  @SuppressWarnings("unchecked")
7910  private static final org.apache.avro.io.DatumWriter<candidate>
7911    WRITER$ = (org.apache.avro.io.DatumWriter<candidate>)MODEL$.createDatumWriter(SCHEMA$);
7912
7913  @Override public void writeExternal(java.io.ObjectOutput out)
7914    throws java.io.IOException {
7915    WRITER$.write(this, SpecificData.getEncoder(out));
7916  }
7917
7918  @SuppressWarnings("unchecked")
7919  private static final org.apache.avro.io.DatumReader<candidate>
7920    READER$ = (org.apache.avro.io.DatumReader<candidate>)MODEL$.createDatumReader(SCHEMA$);
7921
7922  @Override public void readExternal(java.io.ObjectInput in)
7923    throws java.io.IOException {
7924    READER$.read(this, SpecificData.getDecoder(in));
7925  }
7926
7927}