This file is indexed.

/usr/include/cat/AstroQuery.h is in skycat 3.1.2+starlink1~b-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// -*-c++-*-
#ifndef _AstroQuery_h_
#define _AstroQuery_h_

/*
 * E.S.O. - VLT project 
 * $Id: AstroQuery.h,v 1.2 2010/07/21 19:39:54 cguirao Exp $
 *
 * AstroQuery.h - class describing a query to search an astronomical catalog.
 *
 * See the man page for a complete description.
 *
 * who             when       what
 * --------------  --------   ----------------------------------------
 * Allan Brighton  27 Sep 95  Created
 */


#include <cstdio>
#include <cstring>
#include "WorldOrImageCoords.h"


/*
 * Class AstroQuery
 *
 * This class is used in star catalog queries to specify which object(s)
 * to search for.
 *
 * The class attributes specify the conditions for the search, such as
 * id, name, position, radius, etc.  All of the fields are
 * optional. Fields are set to the appropriate null value, if they are
 * not being used.
 *
 */
class AstroQuery {
protected:
    char* id_;			// object Id
    WorldOrImageCoords pos_;	// center position as right ascension, declination
    double mag1_, mag2_;	// min, max magnitude of object (most, least bright)
    double radius1_, radius2_;	// min, max radius in arcmin from center 
    double width_, height_;	// width, height in arcmin from center

    int numCols_;		// number of columns corresp. to colNames_ below
    char** colNames_;           // ptr to array of column names to get (default all)
    int maxRows_;		// max number of rows to get

    int numSortCols_;		// number of columns corresp. to sortCols_ below
    char** sortCols_;		// array of column names to sort by
    int sortOrder_;		// >=0 means increasing, <0 means decreasing
    
    int numSearchCols_;		// number of columns corresp. to searchCols_ below
    char** searchCols_;         // ptr to array of column names to compare
    char** minValues_;          // ptr to array of min column values or NULL
    char** maxValues_;          // ptr to array of max column values or NULL
   
    // copy constructor (don't use)
    AstroQuery(const AstroQuery&);

public:
    // constructors:

    // search by object Id (for a specific object)
    // The Id must be gotten by a previous search...
    AstroQuery();
    ~AstroQuery();


    // member access (set and get member values)
    //
    // note: methods with args set the member values and return the error status.
    // methods with no args return the value. 

    const char* id() const {return (id_ ? id_ : "");}
    int id(const char* s) {id_ = strdup(s); return 0;}

    const WorldOrImageCoords& pos() const {return pos_;}
    int pos(const WorldOrImageCoords& p) {pos_ = p; return p.status();}

    // set center, width and height by setting 2 positions
    int pos(const WorldOrImageCoords& p1, const WorldOrImageCoords& p2);

    double width() const {return width_;}
    void width(double w) {width_ = w;}
    double height() const {return height_;}
    void height(double h) {height_ = h;}
    int dim(double w, double h);

    double mag1() const {return mag1_;}
    double mag2() const {return mag2_;}
    int mag(double m);
    int mag(double m1, double m2); // set min/max mag with check

    double radius1() const {return radius1_;}
    double radius2() const {return radius2_;}
    int radius(double r);
    int radius(double r1, double r2); // set min/max radius with check

    char** colNames() const {return colNames_;}
    const char* colName(int col) const;
    int numCols() const {return numCols_;}
    int colNames(int n, char** ar, int freeFlag = 0);

    int numSortCols() const {return numSortCols_;}
    char** sortCols() const {return sortCols_;}
    int sort(int numSortCols, char** sortCols, int freeFlag = 0);
    int sortOrder() const {return sortOrder_;}
    void sortOrder(int i) {sortOrder_ = i;}

    int maxRows() const {return maxRows_;}
    int maxRows(int n);

    // set the search conditions (min and max values for given columns)
    int numSearchCols() const {return numSearchCols_;}
    char** searchCols() const {return searchCols_;}
    char** minValues() const {return minValues_;}
    char** maxValues() const {return maxValues_;}
    int condition(int numSearchCols, char** searchCols, 
		  char**minVals, char**maxVals, int freeFlag = 0);
    
};



#endif /* _AstroQuery_h_ */