#include "focas1.h" /* NOBJECTS -- Show the number of objects of each type in a catalog. */ nobjects (catalog, classes) char *catalog; int *classes; { struct objrec ob; int sfnumbers, snumbers, gnumbers, mnumbers, lnumbers, dnumbers; int nnumbers, unumbers; cfd = catopen (catalog, 0); sfnumbers = snumbers = nnumbers = unumbers = 0; gnumbers = lnumbers = mnumbers = dnumbers = 0; for (;;) { if (rdcatob (cfd, 0L, &ob)) break; if (ffilter (&ob) != 1) continue; switch (ob.class[0]) { case 's': if (ob.class[1] == 'f') sfnumbers++; else snumbers++; break; case 'n': nnumbers++; break; case 'u': unumbers++; break; case 'g': gnumbers++; break; case 'l': lnumbers++; break; case 'm': mnumbers++; break; case 'd': dnumbers++; break; } } printf ("Catalog: %s\n", catalog); printf ("Number of objects: Total = %d\n", snumbers + gnumbers + sfnumbers + lnumbers + dnumbers + mnumbers + nnumbers + unumbers); if (*classes) { printf (" Stars = %d\n", snumbers); printf (" Galaxies = %d\n", gnumbers); printf (" SF = %d\n", sfnumbers); printf (" Long = %d\n", lnumbers); printf (" Diffuse = %d\n", dnumbers); printf (" Multiple = %d\n", mnumbers); printf (" Noise = %d\n", nnumbers); printf (" Unknown = %d\n", unumbers); } fclose (cfd); }