LSSTApplications  1.1.2+25,10.0+13,10.0+132,10.0+133,10.0+224,10.0+41,10.0+8,10.0-1-g0f53050+14,10.0-1-g4b7b172+19,10.0-1-g61a5bae+98,10.0-1-g7408a83+3,10.0-1-gc1e0f5a+19,10.0-1-gdb4482e+14,10.0-11-g3947115+2,10.0-12-g8719d8b+2,10.0-15-ga3f480f+1,10.0-2-g4f67435,10.0-2-gcb4bc6c+26,10.0-28-gf7f57a9+1,10.0-3-g1bbe32c+14,10.0-3-g5b46d21,10.0-4-g027f45f+5,10.0-4-g86f66b5+2,10.0-4-gc4fccf3+24,10.0-40-g4349866+2,10.0-5-g766159b,10.0-5-gca2295e+25,10.0-6-g462a451+1
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Private Attributes | List of all members
lsst::ap::VisitProcessingContext Class Reference

Container for inter-stage association pipeline state. More...

#include <Stages.h>

Inheritance diagram for lsst::ap::VisitProcessingContext:
lsst.daf.base::Citizen

Public Types

typedef
SharedObjectChunkManager::ObjectChunk 
ObjectChunk
 
typedef ZoneEntry< ObjectChunkObjectEntry
 
typedef ZoneEntry< DiaSourceChunkDiaSourceEntry
 
typedef ZoneIndex< ObjectEntryObjectIndex
 
typedef ZoneIndex< DiaSourceEntryDiaSourceIndex
 
- Public Types inherited from lsst.daf.base::Citizen
enum  { magicSentinel = 0xdeadbeef }
 
typedef unsigned long memId
 Type of the block's ID. More...
 
typedef memId(* memNewCallback )(const memId cid)
 A function used to register a callback. More...
 
typedef memId(* memCallback )(const Citizen *ptr)
 

Public Member Functions

 VisitProcessingContext (lsst::pex::policy::Policy::Ptr const policy, lsst::daf::base::PropertySet::Ptr const event, std::string const &runId, int const workerId, int const numWorkers)
 
 ~VisitProcessingContext ()
 
void setDiaSources (boost::shared_ptr< lsst::afw::detection::PersistableDiaSourceVector > diaSources)
 
std::vector< int > const & getChunkIds () const
 
std::vector< ObjectChunk > const & getChunks () const
 
std::vector< int > & getChunkIds ()
 
std::vector< ObjectChunk > & getChunks ()
 
ObjectIndexgetObjectIndex ()
 
DiaSourceIndexgetDiaSourceIndex ()
 
void buildObjectIndex ()
 
ZoneStripeChunkDecomposition
const & 
getDecomposition () const
 
CircularRegion const & getFov () const
 
TimeSpec const & getDeadline () const
 
lsst::afw::image::Filter getFilter () const
 
boost::shared_ptr
< lsst::pex::policy::Policy
getPipelinePolicy ()
 
std::string const & getRunId () const
 
double getMatchRadius () const
 
double getEllipseScalingFactor () const
 
int getVisitId () const
 
int getFilterId () const
 
int getWorkerId () const
 
int getNumWorkers () const
 
bool debugSharedMemory () const
 
- Public Member Functions inherited from lsst.daf.base::Citizen
 Citizen (const std::type_info &)
 
 Citizen (Citizen const &)
 
 ~Citizen ()
 
Citizenoperator= (Citizen const &)
 
std::string repr () const
 Return a string representation of a Citizen. More...
 
void markPersistent (void)
 Mark a Citizen as persistent and not destroyed until process end. More...
 
memId getId () const
 Return the Citizen's ID. More...
 

Private Attributes

lsst::pex::policy::Policy::Ptr _policy
 
std::vector< int > _chunkIds
 
std::vector< ObjectChunk_chunks
 
ObjectIndex _objectIndex
 
DiaSourceIndex _diaSourceIndex
 
std::vector
< lsst::afw::detection::DiaSource::Ptr > 
_diaSources
 
TimeSpec _deadline
 
CircularRegion _fov
 
std::string _runId
 
int _visitId
 
double _matchRadius
 
double _ellipseScalingFactor
 
double _visitTime
 
lsst::afw::image::Filter _filter
 
int _workerId
 
int _numWorkers
 
bool _debugSharedMemory
 

Additional Inherited Members

- Static Public Member Functions inherited from lsst.daf.base::Citizen
static bool hasBeenCorrupted ()
 Check all allocated blocks for corruption. More...
 
static memId getNextMemId ()
 Return the memId of the next object to be allocated. More...
 
static int init ()
 Called once when the memory system is being initialised. More...
 
static int census (int, memId startingMemId=0)
 How many active Citizens are there? More...
 
static void census (std::ostream &stream, memId startingMemId=0)
 Print a list of all active Citizens to stream, sorted by ID. More...
 
static const std::vector
< const Citizen * > * 
census ()
 Return a (newly allocated) std::vector of active Citizens sorted by ID. More...
 
static memId setNewCallbackId (memId id)
 Call the NewCallback when block is allocated. More...
 
static memId setDeleteCallbackId (memId id)
 Call the current DeleteCallback when block is deleted. More...
 
static memNewCallback setNewCallback (memNewCallback func)
 Set the NewCallback function. More...
 
static memCallback setDeleteCallback (memCallback func)
 Set the DeleteCallback function. More...
 
static memCallback setCorruptionCallback (memCallback func)
 Set the CorruptionCallback function. More...
 

Detailed Description

Container for inter-stage association pipeline state.

Definition at line 69 of file Stages.h.

Member Typedef Documentation

Definition at line 91 of file Stages.h.

Definition at line 93 of file Stages.h.

Definition at line 88 of file Stages.h.

Definition at line 90 of file Stages.h.

Definition at line 92 of file Stages.h.

Constructor & Destructor Documentation

lsst::ap::VisitProcessingContext::VisitProcessingContext ( lsst::pex::policy::Policy::Ptr const  policy,
lsst::daf::base::PropertySet::Ptr const  event,
std::string const &  runId,
int const  workerId,
int const  numWorkers 
)

Definition at line 534 of file Stages.cc.

540  :
541  lsst::daf::base::Citizen(typeid(*this)),
542  _policy(policy),
543  _chunkIds(),
544  _chunks(),
545  _objectIndex(policy->getInt("zonesPerDegree"),
546  policy->getInt("zonesPerStripe"),
547  policy->getInt("maxEntriesPerZoneEstimate")),
548  _diaSourceIndex(policy->getInt("zonesPerDegree"),
549  policy->getInt("zonesPerStripe"),
550  policy->getInt("maxEntriesPerZoneEstimate")),
551  _deadline(),
552  _fov(),
553  _runId(runId),
554  _visitId(-1),
555  _matchRadius(policy->getDouble("matchRadius")),
556  _ellipseScalingFactor(policy->getDouble("ellipseScalingFactor")),
557  _filter(),
558  _workerId(workerId),
559  _numWorkers(numWorkers),
560  _debugSharedMemory(policy->getBool("debugSharedMemory"))
561 {
562  double ra = event->getAsDouble("ra");
563  double dec = event->getAsDouble("decl");
564  _fov = CircularRegion(ra, dec, policy->getDouble("fovRadius"));
565  _visitId = event->getAsInt("visitId");
566  if (event->exists("matchRadius")) {
567  _matchRadius = event->getAsDouble("matchRadius");
568  }
569  _visitTime = event->getAsDouble("dateObs");
570 
571  // DC3a: set association pipeline deadline to 10 minutes
572  // after creation of a visit processing context.
574  _deadline.tv_sec += 600;
575  std::string filterName = event->getAsString("filter");
576  LogicalLocation location(policy->getString("filterTableLocation"));
577  _filter = Filter(filterName);
578 }
DiaSourceIndex _diaSourceIndex
Definition: Stages.h:166
std::vector< int > _chunkIds
Definition: Stages.h:163
Class for logical location of a persisted Persistable instance.
lsst::afw::image::Filter _filter
Definition: Stages.h:176
lsst::pex::policy::Policy::Ptr _policy
Definition: Stages.h:162
TimeSpec & systemTime()
Definition: Time.cc:113
Holds an integer identifier for an LSST filter.
Definition: Filter.h:107
Citizen is a class that should be among all LSST classes base classes, and handles basic memory manag...
Definition: Citizen.h:56
std::vector< ObjectChunk > _chunks
Definition: Stages.h:164
lsst::ap::VisitProcessingContext::~VisitProcessingContext ( )

Definition at line 581 of file Stages.cc.

581 {}

Member Function Documentation

void lsst::ap::VisitProcessingContext::buildObjectIndex ( )

Definition at line 633 of file Stages.cc.

633  {
635 }
void buildZoneIndex(ZoneIndex< EntryT > &index, std::vector< typename EntryT::Chunk > const &chunks, double const epoch)
Definition: Stages.cc:383
std::vector< ObjectChunk > _chunks
Definition: Stages.h:164
bool lsst::ap::VisitProcessingContext::debugSharedMemory ( ) const
inline

Definition at line 156 of file Stages.h.

156  {
157  return _debugSharedMemory;
158  }
std::vector<int> const& lsst::ap::VisitProcessingContext::getChunkIds ( ) const
inline

Definition at line 95 of file Stages.h.

95  {
96  return _chunkIds;
97  }
std::vector< int > _chunkIds
Definition: Stages.h:163
std::vector<int>& lsst::ap::VisitProcessingContext::getChunkIds ( )
inline

Definition at line 101 of file Stages.h.

101  {
102  return _chunkIds;
103  }
std::vector< int > _chunkIds
Definition: Stages.h:163
std::vector<ObjectChunk> const& lsst::ap::VisitProcessingContext::getChunks ( ) const
inline

Definition at line 98 of file Stages.h.

98  {
99  return _chunks;
100  }
std::vector< ObjectChunk > _chunks
Definition: Stages.h:164
std::vector<ObjectChunk>& lsst::ap::VisitProcessingContext::getChunks ( )
inline

Definition at line 104 of file Stages.h.

104  {
105  return _chunks;
106  }
std::vector< ObjectChunk > _chunks
Definition: Stages.h:164
TimeSpec const& lsst::ap::VisitProcessingContext::getDeadline ( ) const
inline

Definition at line 123 of file Stages.h.

123  {
124  return _deadline;
125  }
ZoneStripeChunkDecomposition const& lsst::ap::VisitProcessingContext::getDecomposition ( ) const
inline

Definition at line 117 of file Stages.h.

117  {
119  }
ZoneStripeChunkDecomposition const & getDecomposition() const
Definition: ZoneTypes.h:281
DiaSourceIndex& lsst::ap::VisitProcessingContext::getDiaSourceIndex ( )
inline

Definition at line 111 of file Stages.h.

111  {
112  return _diaSourceIndex;
113  }
DiaSourceIndex _diaSourceIndex
Definition: Stages.h:166
double lsst::ap::VisitProcessingContext::getEllipseScalingFactor ( ) const
inline

Definition at line 141 of file Stages.h.

141  {
142  return _ellipseScalingFactor;
143  }
lsst::afw::image::Filter lsst::ap::VisitProcessingContext::getFilter ( ) const
inline

Definition at line 126 of file Stages.h.

126  {
127  return _filter;
128  }
lsst::afw::image::Filter _filter
Definition: Stages.h:176
int lsst::ap::VisitProcessingContext::getFilterId ( ) const
inline

Definition at line 147 of file Stages.h.

147  {
148  return _filter.getId();
149  }
lsst::afw::image::Filter _filter
Definition: Stages.h:176
int getId() const
Definition: Filter.h:136
CircularRegion const& lsst::ap::VisitProcessingContext::getFov ( ) const
inline

Definition at line 120 of file Stages.h.

120  {
121  return _fov;
122  }
double lsst::ap::VisitProcessingContext::getMatchRadius ( ) const
inline

Definition at line 138 of file Stages.h.

138  {
139  return _matchRadius;
140  }
int lsst::ap::VisitProcessingContext::getNumWorkers ( ) const
inline

Definition at line 153 of file Stages.h.

153  {
154  return _numWorkers;
155  }
ObjectIndex& lsst::ap::VisitProcessingContext::getObjectIndex ( )
inline

Definition at line 108 of file Stages.h.

108  {
109  return _objectIndex;
110  }
boost::shared_ptr<lsst::pex::policy::Policy> lsst::ap::VisitProcessingContext::getPipelinePolicy ( )
inline

Definition at line 132 of file Stages.h.

132  {
133  return _policy;
134  }
lsst::pex::policy::Policy::Ptr _policy
Definition: Stages.h:162
std::string const& lsst::ap::VisitProcessingContext::getRunId ( ) const
inline

Definition at line 135 of file Stages.h.

135  {
136  return _runId;
137  }
int lsst::ap::VisitProcessingContext::getVisitId ( ) const
inline

Definition at line 144 of file Stages.h.

144  {
145  return _visitId;
146  }
int lsst::ap::VisitProcessingContext::getWorkerId ( ) const
inline

Definition at line 150 of file Stages.h.

150  {
151  return _workerId;
152  }
void lsst::ap::VisitProcessingContext::setDiaSources ( boost::shared_ptr< lsst::afw::detection::PersistableDiaSourceVector >  diaSources)

Definition at line 584 of file Stages.cc.

584  {
585  _diaSources = diaSources->getSources();
587  int const sz = static_cast<int>(_diaSources.size());
588  if (sz == 0) {
589  return;
590  }
591  Stopwatch watch(true);
592  double minDec = 90.0;
593  double maxDec = -90.0;
594  for (int i = 0; i < sz; ++i) {
595  double dec = _diaSources[i]->getDec();
596  if (dec < minDec) {
597  minDec = dec;
598  }
599  if (dec > maxDec) {
600  maxDec = dec;
601  }
602  }
603  assert(maxDec >= minDec && "invalid dec bounds for DiaSource list");
604  _diaSourceIndex.setDecBounds(minDec, maxDec);
605  watch.stop();
606  Log log(Log::getDefaultLog(), "lsst.ap");
607  Rec(log, Log::INFO) << "set dec bounds for difference source index" <<
608  Prop<int>("numElements", sz) <<
609  Prop<double>("time", watch.seconds()) << Rec::endr;
610  watch.start();
611  try {
612  for (int i = 0; i < sz; ++i) {
613  _diaSourceIndex.insert(_diaSources[i]->getRa(), _diaSources[i]->getDec(),
614  _diaSources[i].get(), 0, 0);
615  }
616  } catch (...) {
618  throw;
619  }
620  watch.stop();
621  Rec(log, Log::INFO) << "inserted difference sources into zone index" <<
622  Prop<int>("numElements", sz) <<
623  Prop<double>("time", watch.seconds()) << Rec::endr;
624  watch.start();
626  watch.stop();
627  Rec(log, Log::INFO) << "sorted difference source zone index" <<
628  Prop<int>("numElements", sz) <<
629  Prop<double>("time", watch.seconds()) << Rec::endr;
630 }
DiaSourceIndex _diaSourceIndex
Definition: Stages.h:166
CsvWriter & endr(CsvWriter &w)
Definition: Csv.cc:330
LogRec Rec
Definition: Log.h:838
void insert(double const ra, double const dec, Data *const data, Chunk *const chunk, int const index)
Definition: ZoneTypes.h:229
void sort()
Sorts each zone in the index (on right ascension)
Definition: ZoneTypes.cc:279
a place to record messages and descriptions of the state of processing.
Definition: Log.h:154
def log
Definition: log.py:85
int INFO
Definition: log.py:37
std::vector< lsst::afw::detection::DiaSource::Ptr > _diaSources
Definition: Stages.h:167
void clear()
Removes all entries from every zone in the index.
Definition: ZoneTypes.cc:205
void setDecBounds(double const minDec, double const maxDec)
Sets the range of declination values the index will accept data for.
Definition: ZoneTypes.cc:225

Member Data Documentation

std::vector<int> lsst::ap::VisitProcessingContext::_chunkIds
private

Definition at line 163 of file Stages.h.

std::vector<ObjectChunk> lsst::ap::VisitProcessingContext::_chunks
private

Definition at line 164 of file Stages.h.

TimeSpec lsst::ap::VisitProcessingContext::_deadline
private

Definition at line 169 of file Stages.h.

bool lsst::ap::VisitProcessingContext::_debugSharedMemory
private

Definition at line 179 of file Stages.h.

DiaSourceIndex lsst::ap::VisitProcessingContext::_diaSourceIndex
private

Definition at line 166 of file Stages.h.

std::vector<lsst::afw::detection::DiaSource::Ptr> lsst::ap::VisitProcessingContext::_diaSources
private

Definition at line 167 of file Stages.h.

double lsst::ap::VisitProcessingContext::_ellipseScalingFactor
private

Definition at line 174 of file Stages.h.

lsst::afw::image::Filter lsst::ap::VisitProcessingContext::_filter
private

Definition at line 176 of file Stages.h.

CircularRegion lsst::ap::VisitProcessingContext::_fov
private

Definition at line 170 of file Stages.h.

double lsst::ap::VisitProcessingContext::_matchRadius
private

Definition at line 173 of file Stages.h.

int lsst::ap::VisitProcessingContext::_numWorkers
private

Definition at line 178 of file Stages.h.

ObjectIndex lsst::ap::VisitProcessingContext::_objectIndex
private

Definition at line 165 of file Stages.h.

lsst::pex::policy::Policy::Ptr lsst::ap::VisitProcessingContext::_policy
private

Definition at line 162 of file Stages.h.

std::string lsst::ap::VisitProcessingContext::_runId
private

Definition at line 171 of file Stages.h.

int lsst::ap::VisitProcessingContext::_visitId
private

Definition at line 172 of file Stages.h.

double lsst::ap::VisitProcessingContext::_visitTime
private

Definition at line 175 of file Stages.h.

int lsst::ap::VisitProcessingContext::_workerId
private

Definition at line 177 of file Stages.h.


The documentation for this class was generated from the following files: