/* @file  pmSourceGroup.h
 *
 * @author EAM, IfA
 *
 * @version $Revision: $
 * @date $Date: 2009-02-16 22:30:50 $
 * Copyright 2009 Institute for Astronomy, University of Hawaii
 */

# ifndef PM_SOURCE_GROUP_H
# define PM_SOURCE_GROUP_H

#include <pslib.h>
#include "pmPeaks.h"
#include "pmModel.h"
#include "pmMoments.h"
#include "pmSourceExtendedPars.h"

/// @addtogroup Objects Object Detection / Analysis Functions
/// @{

#include <pmSourceMasks.h>

/** pmSourceGroup data structure
 *
 *  A source group is a connected set of source measurements with a
 *  common connection.  Each source in the group represents the
 *  detection of some astronomical object on a single each.  The group
 *  represents the related collection of measurements.  The fits are
 *  coupled in some way.  For example, they may all have the same
 *  position, but independent fluxes.  Or, they may have a common set
 *  of positions and shape parameters.  Or the position in each image
 *  may be related by a function.
 *
 *  XXX is thre any info that is neaded for each source group beyond that carried by the sources (besides ID)?
 */
struct pmSource {
  int seq;                            ///< ID for output (generated on write OR set on read)
  psArray *sources;
} pmSourceGroup;


/// @}
# endif /* PM_SOURCE_GROUP_H */
