| 67 | | === Programs === |
| 68 | | |
| 69 | | There are currently eight program classes: |
| 70 | | |
| 71 | | * '''Console''' |
| 72 | | * '''Queue''' |
| 73 | | * '''Loader''' |
| 74 | | * '''!PollOdm''' |
| 75 | | * '''Cleanup''' |
| 76 | | * '''Metrics''' |
| 77 | | * '''Plotter''' |
| 78 | | * '''!SetupScratchDb''' |
| 79 | | |
| 80 | | All of which extend the base-class, '''!IppToPsps''' , which handles generic functionality for all programs such as setting up logging, reading the configuration data, handling signals etc. |
| 81 | | === Batches === |
| 82 | | |
| 83 | | There are currently four batch classes: |
| 84 | | |
| 85 | | * '''!DetectionBatch''' |
| 86 | | * '''!StackBatch''' |
| 87 | | * '''!InitBatch''' |
| 88 | | * '''!ObjectBatch''' |
| 89 | | |
| 90 | | All of the above inherit from the '''Batch''' base-class, which handles functionality common to all batches, such as creating and opening output FITS files, connecting to the GPC1 database, connecting with the DVO database etc. This keeps duplicated code at a minimum. The Batch class is an abstract class, i.e. it should not, and cannot, be instantiated. |
| 91 | | |
| 92 | | === Databases === |
| 93 | | |
| 94 | | There are four database classes: |
| 95 | | |
| 96 | | * '''!CzarDb''' |
| 97 | | * '''Gpc1Db''' |
| 98 | | * '''!IppToPspsDb''' |
| 99 | | * '''!ScratchDb''' |
| 100 | | |
| 101 | | All of which inherit from base-class '''!MySql''', which provides all generic MySQL functionality (creating tables, dropping tables, adding indexes, making row counts etc). |
| 102 | | |
| 103 | | === Dvo === |
| 104 | | |
| 105 | | Two Dvo classes are used for the ingestion of data into MySQL from a DVO database: |
| 106 | | |
| 107 | | * '''!DvoDetections''' |
| 108 | | * '''!DvoObjects''' |
| 109 | | |
| 110 | | Both classes inherit from the '''Dvo''' base class that handles most of the work. The subclasses implement which DVO files to ingest, and how. |
| | 67 | |
| | 68 | Some notes about the base classes follow. |
| | 69 | |
| | 70 | * All program classes extend '''!IppToPsps''', which handles generic functionality for all programs such as setting up logging, reading the configuration data, handling signals etc. |
| | 71 | * All batch classes extend '''Batch''', which handles functionality common to all batches, such as creating and opening output FITS files, connecting to the GPC1 database, connecting with the DVO database etc. |
| | 72 | * All database classes extend '''!MySql''', which provides all generic MySQL functionality (creating tables, dropping tables, adding indexes, making row counts etc). |
| | 73 | * Both Dvo classes extend '''Dvo''', which handles most of the work. The subclasses implement which DVO files to ingest, and how. |