23 #include <sys/types.h>
30 #include "midiGlobal.h"
32 #include "errorHandling.h"
33 #include "fileHandling.h"
68 const char routine[] =
"removePathName";
69 FILE *temp1Ptr, *temp2Ptr;
71 unsigned int i, indexCount = 0;
76 if (diagnostic > 4)cpl_msg_info(cpl_func,
"Invoking routine '%s' \n", routine);
77 if (diagnostic > 4) fprintf (filePtr,
"Invoking routine '%s' \n", routine);
80 stringLength = strlen (fileName);
81 temp1Ptr = fopen(
"temp1.grb",
"w");
82 fprintf (temp1Ptr,
"%s\n", fileName);
84 temp1Ptr = fopen(
"temp1.grb",
"r");
85 for (i = 0; i < stringLength; i++)
87 fscanf (temp1Ptr,
"%c", &nextChar);
88 if (memcmp (&nextChar,
"/", 1) == 0) indexCount = i+1;
91 temp2Ptr = fopen(
"temp2.grb",
"w");
92 for (i = 0; i < stringLength; i++)
94 nextChar = fgetc (temp1Ptr);
95 if (i >= indexCount) fputc (nextChar, temp2Ptr);
99 temp2Ptr = fopen(
"temp2.grb",
"r");
100 fscanf (temp2Ptr,
"%s\n", fileName);
102 remove (
"temp1.grb");
103 remove (
"temp2.grb");
122 char getFirstCharacter (
127 const char routine[] =
"getFirstCharacter";
133 if (diagnostic > 4)cpl_msg_info(cpl_func,
"Invoking routine '%s' \n", routine);
135 if (
string == NULL)
return (
' ');
137 tempPtr = fopen (
"getFirstChar.grb",
"w");
138 fprintf (tempPtr,
"%s\n",
string);
140 tempPtr = fopen (
"getFirstChar.grb",
"r");
141 fscanf (tempPtr,
"%c", &firstChar);
143 remove (
"getFirstChar.grb");
164 MidiFiles *fileNames,
169 const char routine[] =
"getFitsNames";
171 FILE *inFitsClassifiedPtr;
177 if (diagnostic > 4)cpl_msg_info(cpl_func,
"Invoking routine '%s' \n", routine);
178 if (diagnostic > 4) fprintf (filePtr,
"Invoking routine '%s' \n", routine);
181 argument = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
184 if (stat (fileNames->inFitsClassified, &buf) == 0)
185 remove (fileNames->inFitsClassified);
188 strcat (argument,
"ls -1 ");
189 strcat (argument, fileNames->inFileDir);
190 strcat (argument,
"MIDI*.fits ");
191 strcat (argument,
"> ");
192 strcat (argument, fileNames->inFitsClassified);
196 inFitsClassifiedPtr = fopen (fileNames->inFitsClassified,
"r");
198 while (fscanf (inFitsClassifiedPtr,
"%s\n", argument) != EOF)
204 sprintf (midiMessage,
"Cannot find any valid MIDI FITS files in ... %s", fileNames->inFileDir);
205 midiReportError (filePtr, routine, __FILE__, __LINE__, midiMessage);
208 fclose (inFitsClassifiedPtr);
236 char *
string=NULL, *qfitsStr=NULL;
242 string = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
244 sprintf (
string,
"%s", rawString);
245 qfitsStr = qfits_pretty_string (
string);
246 sprintf (cleanString,
"%s", qfitsStr);
274 char lastChar, nextChar;
278 size_t newLength, stringLength;
282 tempSrt = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
283 stringLength = strlen (rawString);
284 tempPtr = fopen (
"temp.grb",
"w");
285 fprintf (tempPtr,
"%s\n", rawString);
287 tempPtr = fopen (
"temp.grb",
"r");
290 for (i = 0; i < (int)stringLength; i++)
292 nextChar = fgetc (tempPtr);
293 if (nextChar ==
'\n' || nextChar ==
' ')
break;
297 if (lastChar ==
' ') newLength--;
299 strncpy (tempSrt, rawString, newLength);
300 sprintf (cleanString,
"%s", tempSrt);
331 const char routine[] =
"createQcLog";
332 char *qfitsString, *emptyString, *cleanString;
336 if (diagnostic > 4)cpl_msg_info(cpl_func,
"Invoking routine '%s' \n", routine);
337 if (diagnostic > 4) fprintf(midiReportPtr,
"Invoking routine '%s' \n", routine);
343 emptyString = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
344 cleanString = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
347 strcpy (emptyString,
"\"UNKNOWN\"");
350 qfitsString = qfits_query_hdr (inFitsName,
"ARCFILE");
351 if (qfitsString == NULL)
352 fprintf (midiQcLogPtr,
"ARCFILE %s \n", emptyString);
353 else {cleanUpString (qfitsString, cleanString);
354 fprintf (midiQcLogPtr,
"ARCFILE \"%s\" \n", cleanString);}
356 qfitsString = qfits_query_hdr (inFitsName,
"TELESCOP");
357 if (qfitsString == NULL)
358 fprintf (midiQcLogPtr,
"TELESCOP %s \n", emptyString);
359 else {cleanUpString (qfitsString, cleanString);
360 fprintf (midiQcLogPtr,
"TELESCOP \"%s\" \n", cleanString);}
362 qfitsString = qfits_query_hdr (inFitsName,
"INSTRUME");
363 if (qfitsString == NULL)
364 fprintf (midiQcLogPtr,
"INSTRUME %s \n", emptyString);
365 else {cleanUpString (qfitsString, cleanString);
366 fprintf (midiQcLogPtr,
"INSTRUME \"%s\" \n", cleanString);}
368 qfitsString = qfits_query_hdr (inFitsName,
"MJD-OBS");
369 if (qfitsString == NULL)
370 fprintf (midiQcLogPtr,
"MJD-OBS %s \n", emptyString);
371 else {cleanUpString (qfitsString, cleanString);
372 fprintf (midiQcLogPtr,
"MJD-OBS \"%s\" \n", cleanString);}
374 qfitsString = qfits_query_hdr (inFitsName,
"DATE-OBS");
375 if (qfitsString == NULL)
376 fprintf (midiQcLogPtr,
"DATE-OBS %s \n", emptyString);
377 else {cleanUpString (qfitsString, cleanString);
378 fprintf (midiQcLogPtr,
"DATE-OBS \"%s\" \n", cleanString);}
380 qfitsString = qfits_query_hdr (inFitsName,
"UTC");
381 if (qfitsString == NULL)
382 fprintf (midiQcLogPtr,
"UTC %s \n", emptyString);
383 else {cleanUpString (qfitsString, cleanString);
384 fprintf (midiQcLogPtr,
"UTC %s \n", cleanString);}
386 qfitsString = qfits_query_hdr (inFitsName,
"LST");
387 if (qfitsString == NULL)
388 fprintf (midiQcLogPtr,
"LST %s \n", emptyString);
389 else {cleanUpString (qfitsString, cleanString);
390 fprintf (midiQcLogPtr,
"LST %s \n", cleanString);}
392 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU GUID DEC");
393 if (qfitsString == NULL)
394 fprintf (midiQcLogPtr,
"COU.GUID.DEC %s \n", emptyString);
395 else {cleanUpString (qfitsString, cleanString);
396 fprintf (midiQcLogPtr,
"COU.GUID.DEC %s \n", cleanString);}
398 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU GUID RA");
399 if (qfitsString == NULL)
400 fprintf (midiQcLogPtr,
"COU.GUID.RA %s \n", emptyString);
401 else {cleanUpString (qfitsString, cleanString);
402 fprintf (midiQcLogPtr,
"COU.GUID.RA %s \n", cleanString);}
404 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU GUID MAG");
405 if (qfitsString == NULL)
406 fprintf (midiQcLogPtr,
"COU.GUID.MAG %s \n", emptyString);
407 else {cleanUpString (qfitsString, cleanString);
408 fprintf (midiQcLogPtr,
"COU.GUID.MAG %s \n", cleanString);}
410 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 STREHL_MEAN");
411 if (qfitsString == NULL)
412 fprintf (midiQcLogPtr,
"COU.AO1.STREHL_MEAN %s \n", emptyString);
413 else {cleanUpString (qfitsString, cleanString);
414 fprintf (midiQcLogPtr,
"COU.AO1.STREHL_MEAN %s \n", cleanString);}
416 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 STREHL_MEAN");
417 if (qfitsString == NULL)
418 fprintf (midiQcLogPtr,
"COU.AO2.STREHL_MEAN %s \n", emptyString);
419 else {cleanUpString (qfitsString, cleanString);
420 fprintf (midiQcLogPtr,
"COU.AO2.STREHL_MEAN %s \n", cleanString);}
422 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 STREHL_RMS");
423 if (qfitsString == NULL)
424 fprintf (midiQcLogPtr,
"COU.AO1.STREHL_RMS %s \n", emptyString);
425 else {cleanUpString (qfitsString, cleanString);
426 fprintf (midiQcLogPtr,
"COU.AO1.STREHL_RMS %s \n", cleanString);}
428 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 STREHL_RMS");
429 if (qfitsString == NULL)
430 fprintf (midiQcLogPtr,
"COU.AO2.STREHL_RMS %s \n", emptyString);
431 else {cleanUpString (qfitsString, cleanString);
432 fprintf (midiQcLogPtr,
"COU.AO2.STREHL_RMS %s \n", cleanString);}
434 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 WFE_MEAN");
435 if (qfitsString == NULL)
436 fprintf (midiQcLogPtr,
"COU.AO1.WFE_MEAN %s \n", emptyString);
437 else {cleanUpString (qfitsString, cleanString);
438 fprintf (midiQcLogPtr,
"COU.AO1.WFE_MEAN %s \n", cleanString);}
440 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 WFE_MEAN");
441 if (qfitsString == NULL)
442 fprintf (midiQcLogPtr,
"COU.AO2.WFE_MEAN %s \n", emptyString);
443 else {cleanUpString (qfitsString, cleanString);
444 fprintf (midiQcLogPtr,
"COU.AO2.WFE_MEAN %s \n", cleanString);}
446 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 WFE_RMS");
447 if (qfitsString == NULL)
448 fprintf (midiQcLogPtr,
"COU.AO1.WFE_RMS %s \n", emptyString);
449 else {cleanUpString (qfitsString, cleanString);
450 fprintf (midiQcLogPtr,
"COU.AO1.WFE_RMS %s \n", cleanString);}
452 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 WFE_RMS");
453 if (qfitsString == NULL)
454 fprintf (midiQcLogPtr,
"COU.AO2.WFE_RMS %s \n", emptyString);
455 else {cleanUpString (qfitsString, cleanString);
456 fprintf (midiQcLogPtr,
"COU.AO2.WFE_RMS %s \n", cleanString);}
458 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 ENC_MEAN");
459 if (qfitsString == NULL)
460 fprintf (midiQcLogPtr,
"COU.AO1.ENC_MEAN %s \n", emptyString);
461 else {cleanUpString (qfitsString, cleanString);
462 fprintf (midiQcLogPtr,
"COU.AO1.ENC_MEAN %s \n", cleanString);}
464 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 ENC_MEAN");
465 if (qfitsString == NULL)
466 fprintf (midiQcLogPtr,
"COU.AO2.ENC_MEAN %s \n", emptyString);
467 else {cleanUpString (qfitsString, cleanString);
468 fprintf (midiQcLogPtr,
"COU.AO2.ENC_MEAN %s \n", cleanString);}
470 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 ENC_RMS");
471 if (qfitsString == NULL)
472 fprintf (midiQcLogPtr,
"COU.AO1.ENC_RMS %s \n", emptyString);
473 else {cleanUpString (qfitsString, cleanString);
474 fprintf (midiQcLogPtr,
"COU.AO1.ENC_RMS %s \n", cleanString);}
476 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 ENC_RMS");
477 if (qfitsString == NULL)
478 fprintf (midiQcLogPtr,
"COU.AO2.ENC_RMS %s \n", emptyString);
479 else {cleanUpString (qfitsString, cleanString);
480 fprintf (midiQcLogPtr,
"COU.AO2.ENC_RMS %s \n", cleanString);}
482 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 FWHM_MEAN");
483 if (qfitsString == NULL)
484 fprintf (midiQcLogPtr,
"COU.AO1.FWHM_MEAN %s \n", emptyString);
485 else {cleanUpString (qfitsString, cleanString);
486 fprintf (midiQcLogPtr,
"COU.AO1.FWHM_MEAN %s \n", cleanString);}
488 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 FWHM_MEAN");
489 if (qfitsString == NULL)
490 fprintf (midiQcLogPtr,
"COU.AO2.FWHM_MEAN %s \n", emptyString);
491 else {cleanUpString (qfitsString, cleanString);
492 fprintf (midiQcLogPtr,
"COU.AO2.FWHM_MEAN %s \n", cleanString);}
494 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 FWHM_RMS");
495 if (qfitsString == NULL)
496 fprintf (midiQcLogPtr,
"COU.AO1.FWHM_RMS %s \n", emptyString);
497 else {cleanUpString (qfitsString, cleanString);
498 fprintf (midiQcLogPtr,
"COU.AO1.FWHM_RMS %s \n", cleanString);}
500 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 FWHM_RMS");
501 if (qfitsString == NULL)
502 fprintf (midiQcLogPtr,
"COU.AO2.FWHM_RMS %s \n", emptyString);
503 else {cleanUpString (qfitsString, cleanString);
504 fprintf (midiQcLogPtr,
"COU.AO2.FWHM_RMS %s \n", cleanString);}
506 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 L0_MEAN");
507 if (qfitsString == NULL)
508 fprintf (midiQcLogPtr,
"COU.AO1.L0_MEAN %s \n", emptyString);
509 else {cleanUpString (qfitsString, cleanString);
510 fprintf (midiQcLogPtr,
"COU.AO1.L0_MEAN %s \n", cleanString);}
512 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 L0_MEAN");
513 if (qfitsString == NULL)
514 fprintf (midiQcLogPtr,
"COU.AO2.L0_MEAN %s \n", emptyString);
515 else {cleanUpString (qfitsString, cleanString);
516 fprintf (midiQcLogPtr,
"COU.AO2.L0_MEAN %s \n", cleanString);}
518 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 L0_RMS");
519 if (qfitsString == NULL)
520 fprintf (midiQcLogPtr,
"COU.AO1.L0_RMS %s \n", emptyString);
521 else {cleanUpString (qfitsString, cleanString);
522 fprintf (midiQcLogPtr,
"COU.AO1.L0_RMS %s \n", cleanString);}
524 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 L0_RMS");
525 if (qfitsString == NULL)
526 fprintf (midiQcLogPtr,
"COU.AO2.L0_RMS %s \n", emptyString);
527 else {cleanUpString (qfitsString, cleanString);
528 fprintf (midiQcLogPtr,
"COU.AO2.L0_RMS %s \n", cleanString);}
530 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 R0_MEAN");
531 if (qfitsString == NULL)
532 fprintf (midiQcLogPtr,
"COU.AO1.R0_MEAN %s \n", emptyString);
533 else {cleanUpString (qfitsString, cleanString);
534 fprintf (midiQcLogPtr,
"COU.AO1.R0_MEAN %s \n", cleanString);}
536 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 R0_MEAN");
537 if (qfitsString == NULL)
538 fprintf (midiQcLogPtr,
"COU.AO2.R0_MEAN %s \n", emptyString);
539 else {cleanUpString (qfitsString, cleanString);
540 fprintf (midiQcLogPtr,
"COU.AO2.R0_MEAN %s \n", cleanString);}
542 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 R0_RMS");
543 if (qfitsString == NULL)
544 fprintf (midiQcLogPtr,
"COU.AO1.R0_RMS %s \n", emptyString);
545 else {cleanUpString (qfitsString, cleanString);
546 fprintf (midiQcLogPtr,
"COU.AO1.R0_RMS %s \n", cleanString);}
548 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 R0_RMS");
549 if (qfitsString == NULL)
550 fprintf (midiQcLogPtr,
"COU.AO2.R0_RMS %s \n", emptyString);
551 else {cleanUpString (qfitsString, cleanString);
552 fprintf (midiQcLogPtr,
"COU.AO2.R0_RMS %s \n", cleanString);}
554 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 T0_MEAN");
555 if (qfitsString == NULL)
556 fprintf (midiQcLogPtr,
"COU.AO1.T0_MEAN %s \n", emptyString);
557 else {cleanUpString (qfitsString, cleanString);
558 fprintf (midiQcLogPtr,
"COU.AO1.T0_MEAN %s \n", cleanString);}
560 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 T0_MEAN");
561 if (qfitsString == NULL)
562 fprintf (midiQcLogPtr,
"COU.AO2.T0_MEAN %s \n", emptyString);
563 else {cleanUpString (qfitsString, cleanString);
564 fprintf (midiQcLogPtr,
"COU.AO2.T0_MEAN %s \n", cleanString);}
566 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO1 T0_RMS");
567 if (qfitsString == NULL)
568 fprintf (midiQcLogPtr,
"COU.AO1.T0_RMS %s \n", emptyString);
569 else {cleanUpString (qfitsString, cleanString);
570 fprintf (midiQcLogPtr,
"COU.AO1.T0_RMS %s \n", cleanString);}
572 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO COU AO2 T0_RMS");
573 if (qfitsString == NULL)
574 fprintf (midiQcLogPtr,
"COU.AO2.T0_RMS %s \n", emptyString);
575 else {cleanUpString (qfitsString, cleanString);
576 fprintf (midiQcLogPtr,
"COU.AO2.T0_RMS %s \n", cleanString);}
578 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET CHIP NX");
579 if (qfitsString == NULL)
580 fprintf (midiQcLogPtr,
"DET.CHIP.NX %s \n", emptyString);
581 else {cleanUpString (qfitsString, cleanString);
582 fprintf (midiQcLogPtr,
"DET.CHIP.NX %s \n", cleanString);}
584 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET CHIP NY");
585 if (qfitsString == NULL)
586 fprintf (midiQcLogPtr,
"DET.CHIP.NY %s \n", emptyString);
587 else {cleanUpString (qfitsString, cleanString);
588 fprintf (midiQcLogPtr,
"DET.CHIP.NY %s \n", cleanString);}
590 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET DIT");
591 if (qfitsString == NULL)
592 fprintf (midiQcLogPtr,
"DET.DIT %s \n", emptyString);
593 else {cleanUpString (qfitsString, cleanString);
594 fprintf (midiQcLogPtr,
"DET.DIT %s \n", cleanString);}
596 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET DITDELAY");
597 if (qfitsString == NULL)
598 fprintf (midiQcLogPtr,
"DET.DITDELAY %s \n", emptyString);
599 else {cleanUpString (qfitsString, cleanString);
600 fprintf (midiQcLogPtr,
"DET.DITDELAY %s \n", cleanString);}
602 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET INT MODE");
603 if (qfitsString == NULL)
604 fprintf (midiQcLogPtr,
"DET.INT.MODE %s \n", emptyString);
605 else {cleanUpString (qfitsString, cleanString);
606 fprintf (midiQcLogPtr,
"DET.INT.MODE \"%s\" \n", cleanString);}
608 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET NDIT");
609 if (qfitsString == NULL)
610 fprintf (midiQcLogPtr,
"DET.NDIT %s \n", emptyString);
611 else {cleanUpString (qfitsString, cleanString);
612 fprintf (midiQcLogPtr,
"DET.NDIT %s \n", cleanString);}
614 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET NRTS MODE");
615 if (qfitsString == NULL)
616 fprintf (midiQcLogPtr,
"DET.NRTS.MODE %s \n", emptyString);
617 else {cleanUpString (qfitsString, cleanString);
618 fprintf (midiQcLogPtr,
"DET.NRTS.MODE \"%s\" \n", cleanString);}
620 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET WIN1 NX");
621 if (qfitsString == NULL)
622 fprintf (midiQcLogPtr,
"DET.WIN1.NX %s \n", emptyString);
623 else {cleanUpString (qfitsString, cleanString);
624 fprintf (midiQcLogPtr,
"DET.WIN1.NX %s \n", cleanString);}
626 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET WIN1 NY");
627 if (qfitsString == NULL)
628 fprintf (midiQcLogPtr,
"DET.WIN1.NY %s \n", emptyString);
629 else {cleanUpString (qfitsString, cleanString);
630 fprintf (midiQcLogPtr,
"DET.WIN1.NY %s \n", cleanString);}
632 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET WIN2 NX");
633 if (qfitsString == NULL)
634 fprintf (midiQcLogPtr,
"DET.WIN2.NX %s \n", emptyString);
635 else {cleanUpString (qfitsString, cleanString);
636 fprintf (midiQcLogPtr,
"DET.WIN2.NX %s \n", cleanString);}
638 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DET WIN2 NY");
639 if (qfitsString == NULL)
640 fprintf (midiQcLogPtr,
"DET.WIN2.NY %s \n", emptyString);
641 else {cleanUpString (qfitsString, cleanString);
642 fprintf (midiQcLogPtr,
"DET.WIN2.NY %s \n", cleanString);}
644 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DPR CATG");
645 if (qfitsString == NULL)
646 fprintf (midiQcLogPtr,
"DPR.CATG %s \n", emptyString);
647 else {cleanUpString (qfitsString, cleanString);
648 fprintf (midiQcLogPtr,
"DPR.CATG \"%s\" \n", cleanString);}
650 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DPR TECH");
651 if (qfitsString == NULL)
652 fprintf (midiQcLogPtr,
"DPR.TECH %s \n", emptyString);
653 else {cleanUpString (qfitsString, cleanString);
654 fprintf (midiQcLogPtr,
"DPR.TECH \"%s\" \n", cleanString);}
656 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO DPR TYPE");
657 if (qfitsString == NULL)
658 fprintf (midiQcLogPtr,
"DPR.TYPE %s \n", emptyString);
659 else {cleanUpString (qfitsString, cleanString);
660 fprintf (midiQcLogPtr,
"DPR.TYPE \"%s\" \n", cleanString);}
662 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO INS CAM NAME");
663 if (qfitsString == NULL)
664 fprintf (midiQcLogPtr,
"INS.CAM.NAME %s \n", emptyString);
665 else {cleanUpString (qfitsString, cleanString);
666 fprintf (midiQcLogPtr,
"INS.CAM.NAME \"%s\" \n", cleanString);}
668 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO INS FILT NAME");
669 if (qfitsString == NULL)
670 fprintf (midiQcLogPtr,
"INS.FILT.NAME %s \n", emptyString);
671 else {cleanUpString (qfitsString, cleanString);
672 fprintf (midiQcLogPtr,
"INS.FILT.NAME \"%s\" \n", cleanString);}
674 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO INS GRIS NAME");
675 if (qfitsString == NULL)
676 fprintf (midiQcLogPtr,
"INS.GRIS.NAME %s \n", emptyString);
677 else {cleanUpString (qfitsString, cleanString);
678 fprintf (midiQcLogPtr,
"INS.GRIS.NAME \"%s\" \n", cleanString);}
680 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO INS MODE");
681 if (qfitsString == NULL)
682 fprintf (midiQcLogPtr,
"INS.MODE %s \n", emptyString);
683 else {cleanUpString (qfitsString, cleanString);
684 fprintf (midiQcLogPtr,
"INS.MODE \"%s\" \n", cleanString);}
686 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO INS OPT1 NAME");
687 if (qfitsString == NULL)
688 fprintf (midiQcLogPtr,
"INS.OPT1.NAME %s \n", emptyString);
689 else {cleanUpString (qfitsString, cleanString);
690 fprintf (midiQcLogPtr,
"INS.OPT1.NAME \"%s\" \n", cleanString);}
692 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO INS OPT1 TYPE");
693 if (qfitsString == NULL)
694 fprintf (midiQcLogPtr,
"INS.OPT1.TYPE %s \n", emptyString);
695 else {cleanUpString (qfitsString, cleanString);
696 fprintf (midiQcLogPtr,
"INS.OPT1.TYPE \"%s\" \n", cleanString);}
698 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO INS SHUT NAME");
699 if (qfitsString == NULL)
700 fprintf (midiQcLogPtr,
"INS.SHUT.NAME %s \n", emptyString);
701 else {cleanUpString (qfitsString, cleanString);
702 fprintf (midiQcLogPtr,
"INS.SHUT.NAME \"%s\" \n", cleanString);}
704 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO INS SLIT NAME");
705 if (qfitsString == NULL)
706 fprintf (midiQcLogPtr,
"INS.SLIT.NAME %s \n", emptyString);
707 else {cleanUpString (qfitsString, cleanString);
708 fprintf (midiQcLogPtr,
"INS.SLIT.NAME \"%s\" \n", cleanString);}
710 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AIRM END");
711 if (qfitsString == NULL)
712 fprintf (midiQcLogPtr,
"ISS.AIRM.END %s \n", emptyString);
713 else {cleanUpString (qfitsString, cleanString);
714 fprintf (midiQcLogPtr,
"ISS.AIRM.END %s \n", cleanString);}
716 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AIRM START");
717 if (qfitsString == NULL)
718 fprintf (midiQcLogPtr,
"ISS.AIRM.START %s \n", emptyString);
719 else {cleanUpString (qfitsString, cleanString);
720 fprintf (midiQcLogPtr,
"ISS.AIRM.START %s \n", cleanString);}
722 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS ALT");
723 if (qfitsString == NULL)
724 fprintf (midiQcLogPtr,
"ISS.ALT %s \n", emptyString);
725 else {cleanUpString (qfitsString, cleanString);
726 fprintf (midiQcLogPtr,
"ISS.ALT %s \n", cleanString);}
728 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AMBI FWHM END");
729 if (qfitsString == NULL)
730 fprintf (midiQcLogPtr,
"ISS.AMBI.FWHM.END %s \n", emptyString);
731 else {cleanUpString (qfitsString, cleanString);
732 fprintf (midiQcLogPtr,
"ISS.AMBI.FWHM.END %s \n", cleanString);}
734 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AMBI FWHM START");
735 if (qfitsString == NULL)
736 fprintf (midiQcLogPtr,
"ISS.AMBI.FWHM.START %s \n", emptyString);
737 else {cleanUpString (qfitsString, cleanString);
738 fprintf (midiQcLogPtr,
"ISS.AMBI.FWHM.START %s \n", cleanString);}
740 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AMBI PRES");
741 if (qfitsString == NULL)
742 fprintf (midiQcLogPtr,
"ISS.AMBI.PRES %s \n", emptyString);
743 else {cleanUpString (qfitsString, cleanString);
744 fprintf (midiQcLogPtr,
"ISS.AMBI.PRES %s \n", cleanString);}
746 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AMBI RHUM");
747 if (qfitsString == NULL)
748 fprintf (midiQcLogPtr,
"ISS.AMBI.RHUM %s \n", emptyString);
749 else {cleanUpString (qfitsString, cleanString);
750 fprintf (midiQcLogPtr,
"ISS.AMBI.RHUM %s \n", cleanString);}
752 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AMBI TAU0 END");
753 if (qfitsString == NULL)
754 fprintf (midiQcLogPtr,
"ISS.AMBI.TAU0.END %s \n", emptyString);
755 else {cleanUpString (qfitsString, cleanString);
756 fprintf (midiQcLogPtr,
"ISS.AMBI.TAU0.END %s \n", cleanString);}
758 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AMBI TAU0 START");
759 if (qfitsString == NULL)
760 fprintf (midiQcLogPtr,
"ISS.AMBI.TAU0.START %s \n", emptyString);
761 else {cleanUpString (qfitsString, cleanString);
762 fprintf (midiQcLogPtr,
"ISS.AMBI.TAU0.START %s \n", cleanString);}
764 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AMBI TEMP");
765 if (qfitsString == NULL)
766 fprintf (midiQcLogPtr,
"ISS.AMBI.TEMP %s \n", emptyString);
767 else {cleanUpString (qfitsString, cleanString);
768 fprintf (midiQcLogPtr,
"ISS.AMBI.TEMP %s \n", cleanString);}
770 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AMBI WINDDIR");
771 if (qfitsString == NULL)
772 fprintf (midiQcLogPtr,
"ISS.AMBI.WINDDIR %s \n", emptyString);
773 else {cleanUpString (qfitsString, cleanString);
774 fprintf (midiQcLogPtr,
"ISS.AMBI.WINDDIR %s \n", cleanString);}
776 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AMBI WINDSP");
777 if (qfitsString == NULL)
778 fprintf (midiQcLogPtr,
"ISS.AMBI.WINDSP %s \n", emptyString);
779 else {cleanUpString (qfitsString, cleanString);
780 fprintf (midiQcLogPtr,
"ISS.AMBI.WINDSP %s \n", cleanString);}
782 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS AZ");
783 if (qfitsString == NULL)
784 fprintf (midiQcLogPtr,
"ISS.AZ %s \n", emptyString);
785 else {cleanUpString (qfitsString, cleanString);
786 fprintf (midiQcLogPtr,
"ISS.AZ %s \n", cleanString);}
788 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS CONF STATION1");
789 if (qfitsString == NULL)
790 fprintf (midiQcLogPtr,
"ISS.CONF.STATION1 %s \n", emptyString);
791 else {cleanUpString (qfitsString, cleanString);
792 fprintf (midiQcLogPtr,
"ISS.CONF.STATION1 \"%s\" \n", cleanString);}
794 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS CONF STATION2");
795 if (qfitsString == NULL)
796 fprintf (midiQcLogPtr,
"ISS.CONF.STATION2 %s \n", emptyString);
797 else {cleanUpString (qfitsString, cleanString);
798 fprintf (midiQcLogPtr,
"ISS.CONF.STATION2 \"%s\" \n", cleanString);}
800 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS CONF T1X");
801 if (qfitsString == NULL)
802 fprintf (midiQcLogPtr,
"ISS.CONF.T1X %s \n", emptyString);
803 else {cleanUpString (qfitsString, cleanString);
804 fprintf (midiQcLogPtr,
"ISS.CONF.T1X %s \n", cleanString);}
806 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS CONF T1Y");
807 if (qfitsString == NULL)
808 fprintf (midiQcLogPtr,
"ISS.CONF.T1Y %s \n", emptyString);
809 else {cleanUpString (qfitsString, cleanString);
810 fprintf (midiQcLogPtr,
"ISS.CONF.T1Y %s \n", cleanString);}
812 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS CONF T1Z");
813 if (qfitsString == NULL)
814 fprintf (midiQcLogPtr,
"ISS.CONF.T1Z %s \n", emptyString);
815 else {cleanUpString (qfitsString, cleanString);
816 fprintf (midiQcLogPtr,
"ISS.CONF.T1Z %s \n", cleanString);}
818 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS CONF T2X");
819 if (qfitsString == NULL)
820 fprintf (midiQcLogPtr,
"ISS.CONF.T2X %s \n", emptyString);
821 else {cleanUpString (qfitsString, cleanString);
822 fprintf (midiQcLogPtr,
"ISS.CONF.T2X %s \n", cleanString);}
824 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS CONF T2Y");
825 if (qfitsString == NULL)
826 fprintf (midiQcLogPtr,
"ISS.CONF.T2Y %s \n", emptyString);
827 else {cleanUpString (qfitsString, cleanString);
828 fprintf (midiQcLogPtr,
"ISS.CONF.T2Y %s \n", cleanString);}
830 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS CONF T2Z");
831 if (qfitsString == NULL)
832 fprintf (midiQcLogPtr,
"ISS.CONF.T2Z %s \n", emptyString);
833 else {cleanUpString (qfitsString, cleanString);
834 fprintf (midiQcLogPtr,
"ISS.CONF.T2Z %s \n", cleanString);}
836 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS PARANG END");
837 if (qfitsString == NULL)
838 fprintf (midiQcLogPtr,
"ISS.PARANG.END %s \n", emptyString);
839 else {cleanUpString (qfitsString, cleanString);
840 fprintf (midiQcLogPtr,
"ISS.PARANG.END %s \n", cleanString);}
842 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS PARANG START");
843 if (qfitsString == NULL)
844 fprintf (midiQcLogPtr,
"ISS.PARANG.START %s \n", emptyString);
845 else {cleanUpString (qfitsString, cleanString);
846 fprintf (midiQcLogPtr,
"ISS.PARANG.START %s \n", cleanString);}
848 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS PBL12 END");
849 if (qfitsString == NULL)
850 fprintf (midiQcLogPtr,
"ISS.PBL12.END %s \n", emptyString);
851 else {cleanUpString (qfitsString, cleanString);
852 fprintf (midiQcLogPtr,
"ISS.PBL12.END %s \n", cleanString);}
854 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO ISS PBL12 START");
855 if (qfitsString == NULL)
856 fprintf (midiQcLogPtr,
"ISS.PBL12.START %s \n", emptyString);
857 else {cleanUpString (qfitsString, cleanString);
858 fprintf (midiQcLogPtr,
"ISS.PBL12.START %s \n", cleanString);}
860 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO OBS ID");
861 if (qfitsString == NULL)
862 fprintf (midiQcLogPtr,
"OBS.ID %s \n", emptyString);
863 else {cleanUpString (qfitsString, cleanString);
864 fprintf (midiQcLogPtr,
"OBS.ID \"%s\" \n", cleanString);}
866 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO OBS NAME");
867 if (qfitsString == NULL)
868 fprintf (midiQcLogPtr,
"OBS.NAME %s \n", emptyString);
869 else {cleanUpString (qfitsString, cleanString);
870 fprintf (midiQcLogPtr,
"OBS.NAME \"%s\" \n", cleanString);}
872 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO OBS PI-COI ID");
873 if (qfitsString == NULL)
874 fprintf (midiQcLogPtr,
"OBS.PI-COI.ID %s \n", emptyString);
875 else {cleanUpString (qfitsString, cleanString);
876 fprintf (midiQcLogPtr,
"OBS.PI-COI.ID \"%s\" \n", cleanString);}
878 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO OBS PI-COI NAME");
879 if (qfitsString == NULL)
880 fprintf (midiQcLogPtr,
"OBS.PI-COI.NAME %s \n", emptyString);
881 else {cleanUpString (qfitsString, cleanString);
882 fprintf (midiQcLogPtr,
"OBS.PI-COI.NAME \"%s\" \n", cleanString);}
884 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO OBS PROG ID");
885 if (qfitsString == NULL)
886 fprintf (midiQcLogPtr,
"OBS.PROG.ID %s \n", emptyString);
887 else {cleanUpString (qfitsString, cleanString);
888 fprintf (midiQcLogPtr,
"OBS.PROG.ID \"%s\" \n", cleanString);}
890 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO OBS START");
891 if (qfitsString == NULL)
892 fprintf (midiQcLogPtr,
"OBS.START %s \n", emptyString);
893 else {cleanUpString (qfitsString, cleanString);
894 fprintf (midiQcLogPtr,
"OBS.START \"%s\" \n", cleanString);}
896 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO OBS TARG NAME");
897 if (qfitsString == NULL)
898 fprintf (midiQcLogPtr,
"OBS.TARG.NAME %s \n", emptyString);
899 else {cleanUpString (qfitsString, cleanString);
900 fprintf (midiQcLogPtr,
"OBS.TARG.NAME \"%s\" \n", cleanString);}
902 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO OCS EXPO1 FNAME1");
903 if (qfitsString == NULL)
904 fprintf (midiQcLogPtr,
"OCS.EXPO1.FNAME1 %s \n", emptyString);
905 else {cleanUpString (qfitsString, cleanString);
906 fprintf (midiQcLogPtr,
"OCS.EXPO1.FNAME1 \"%s\" \n", cleanString);}
908 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO TPL ID");
909 if (qfitsString == NULL)
910 fprintf (midiQcLogPtr,
"TPL.ID %s \n", emptyString);
911 else {cleanUpString (qfitsString, cleanString);
912 fprintf (midiQcLogPtr,
"TPL.ID \"%s\" \n", cleanString);}
914 qfitsString = qfits_query_hdr (inFitsName,
"HIERARCH ESO TPL START");
915 if (qfitsString == NULL)
916 fprintf (midiQcLogPtr,
"TPL.START %s \n", emptyString);
917 else {cleanUpString (qfitsString, cleanString);
918 fprintf (midiQcLogPtr,
"TPL.START \"%s\" \n", cleanString);}