235 typename T::const_iterator element, lastElement(container->end());
239 if ( container->size()==0 && container->begin()!=lastElement ) {
246 bool fallback(
false);
248 if ( container->size()!=0 && container->begin()==lastElement ) {
250 theclass->
messageDebug(
"Retrieved empty container. This might be misleading. Now going to attempt to load prds via iterators instead.");
253 +
", so we won't attempt that anyway!! Thus we assume there there are simply no prd's.");
255 if(sg_access.retrieve(firstElementD, lastElementD,
true)) {
256 if (firstElementD==lastElementD) {
257 theclass->
messageDebug(
"No prd's found when accessed by iterators either. It seems that there really are just no prds in this collection.");
262 theclass->
messageDebug(
"Failed retrieval by iterators. We take that as a sign that there really are just no prds in this collection ");
270 int ignoredUnsafeHandle_NoPRD(0);
271 int ignoredUnsafeHandle_NoDetElem(0);
272 int ignoredUnsafeHandle_NotSane(0);
273 typename T::base_value_type::const_iterator prd, prdLast;
283 for ( element = container->begin(); element!=lastElement ; ++element) {
284 prd = (*element)->begin(), prdLast = (*element)->end();
285 for ( ; prd!=prdLast ; ++prd) {
288 ++ignoredUnsafeHandle_NoPRD;
293 if (!handle->
isSane()) ignoredUnsafeHandle_NotSane++;
295 ++ignoredUnsafeHandle_NoDetElem;
309 for (; firstElementD!=lastElementD; ++firstElementD ) {
310 prd = firstElementD->begin(), prdLast = firstElementD->end();
311 for ( ; prd!=prdLast ; ++prd) {
314 ++ignoredUnsafeHandle_NoPRD;
319 if (!handle->
isSane()) ignoredUnsafeHandle_NotSane++;
322 ++ignoredUnsafeHandle_NoDetElem;
337 if (ignoredUnsafeHandle_NoPRD)
338 theclass->
message(
"WARNING - ignoring "+
str(ignoredUnsafeHandle_NoPRD)+
" null prd pointer(s).");
339 if (ignoredUnsafeHandle_NoDetElem)
340 theclass->
message(
"WARNING - ignoring "+
str(ignoredUnsafeHandle_NoDetElem)+
" prd pointer(s) with null detector elements.");
341 if (ignoredUnsafeHandle_NotSane)
342 theclass->
message(
"WARNING - found "+
str(ignoredUnsafeHandle_NotSane)+
" prd pointer(s) which fail sanity checks (i.e. contain NaNs).");