/********************************/ /* classes valdes 8 30 82 */ /* */ /* Assign classes based */ /* on the scale and */ /* fraction */ /********************************/ #include "focas1.h" #define NC 100 /* Maximum number of entries in classification table */ classes (ob) struct objrec *ob; { int i; float temp; if (sp.nrules == 0) return; if (ob -> eflgs & FRCD); else if (ob -> class[0] == 'm'); else if (ob -> eflgs & PEAK) strcpy (ob -> class, "s"); else if (ob -> scale == 0.); else { temp = (ob->ixx - ob->iyy) * (ob->ixx - ob->iyy) + 4 * ob->ixy * ob->ixy; temp = temp > 0. ? sqrt (temp) : 0.; if (temp / (ob->ixx + ob->iyy) >.9) strcpy (ob -> class, "long"); else { for (i = 0; i < sp.nrules; i++) if ((ob -> mag >= crules[i].mag1) && (ob -> mag <= crules[i].mag2) && (ob -> scale >= crules[i].scl1) && (ob -> scale <= crules[i].scl2) && (ob -> frac >= crules[i].frc1) && (ob -> frac <= crules[i].frc2)) break; strcpy (ob -> class, crules[i].class); } } }