CMS 3D CMS Logo

Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes

OnDemandMeasurementTracker Class Reference

#include <OnDemandMeasurementTracker.h>

Inheritance diagram for OnDemandMeasurementTracker:
MeasurementTrackerImpl MeasurementTracker MeasurementDetSystem

List of all members.

Classes

class  DetODStatus
 a class that holds flags, region_range (in RefGetter) for a given MeasurementDet More...

Public Types

typedef edm::LazyGetter
< SiStripCluster
LazyGetter
typedef edm::RefGetter
< SiStripCluster
RefGetter

Public Member Functions

void define (const edm::Handle< edm::LazyGetter< SiStripCluster > > &, std::auto_ptr< RefGetter > &) const
 OnDemandMeasurementTracker specific function to be called to define the region in the RefGetter according to MeasurementDet content.
virtual const MeasurementDetidToDet (const DetId &id) const
 MeasurementDetSystem interface.
 OnDemandMeasurementTracker (const edm::ParameterSet &conf, const PixelClusterParameterEstimator *pixelCPE, const StripClusterParameterEstimator *stripCPE, const SiStripRecHitMatcher *hitMatcher, const TrackerGeometry *trackerGeom, const GeometricSearchTracker *geometricSearchTracker, const SiStripQuality *stripQuality, int stripQualityFlags, int stripQualityDebugFlags, const SiPixelQuality *pixelQuality, const SiPixelFedCabling *pixelCabling, int pixelQualityFlags, int pixelQualityDebugFlags, const SiStripRegionCabling *stripRegionCabling, bool isRegional=false)
 constructor
void update (const edm::Event &) const
 MeasurementTracker overloaded function.
void updateStrips (const edm::Event &event) const
virtual ~OnDemandMeasurementTracker ()
 destructor

Private Types

typedef std::unordered_map
< unsigned int, DetODStatus
DetODContainer
typedef std::vector< std::pair
< SiStripRegionCabling::ElementIndex,
std::vector
< DetODContainer::const_iterator > > > 
RegionalMap
 mapping of elementIndex -> iterator to the DetODMap: to know what are the regions that needs to be defined in the ref getter

Private Member Functions

void assign (const TkStripMeasurementDet *csmdet, DetODContainer::iterator *alreadyFound=0) const
 assigne the cluster iterator to the TkStipMeasurementDet (const_cast in the way)
std::string dumpCluster (const std::vector< SiStripCluster >::const_iterator &begin, const std::vector< SiStripCluster >::const_iterator &end) const
 some printouts, exclusively under LogDebug
std::string dumpRegion (std::pair< unsigned int, unsigned int > indexes, const RefGetter &theGetter, bool stayUnpacked=false) const

Private Attributes

std::string category_
 log category
bool PixelOnDemand_
 internal flag to do pixel on demand (not configurable) false by default
RegionalMap region_mapping
bool StayPacked_
 internal flag to avoid unpacking things with LogDebug on
bool StripOnDemand_
 internal flag to do strip on demand (not configurable) true by default
DetODContainer theDetODMap
 mapping of detid -> MeasurementDet+flags+region_range
edm::Handle< edm::LazyGetter
< SiStripCluster > > 
theLazyGetterH
std::vector< uint32_t > theRawInactiveStripDetIds
edm::Handle< edm::RefGetter
< SiStripCluster > > 
theRefGetterH
 the handle is retrieved from the event to make reference to cluster in it
bool theSkipClusterRefs
edm::Handle
< edm::ContainerMask
< edm::LazyGetter
< SiStripCluster > > > 
theStripClusterMask
const SiStripRegionCablingtheStripRegionCabling
 the cabling region tool to update a RefGetter

Detailed Description

Definition at line 13 of file OnDemandMeasurementTracker.h.


Member Typedef Documentation

typedef std::unordered_map<unsigned int, DetODStatus> OnDemandMeasurementTracker::DetODContainer [private]

Definition at line 79 of file OnDemandMeasurementTracker.h.

Definition at line 38 of file OnDemandMeasurementTracker.h.

Definition at line 39 of file OnDemandMeasurementTracker.h.

typedef std::vector<std::pair<SiStripRegionCabling::ElementIndex, std::vector<DetODContainer::const_iterator> > > OnDemandMeasurementTracker::RegionalMap [private]

mapping of elementIndex -> iterator to the DetODMap: to know what are the regions that needs to be defined in the ref getter

Definition at line 84 of file OnDemandMeasurementTracker.h.


Constructor & Destructor Documentation

OnDemandMeasurementTracker::OnDemandMeasurementTracker ( const edm::ParameterSet conf,
const PixelClusterParameterEstimator pixelCPE,
const StripClusterParameterEstimator stripCPE,
const SiStripRecHitMatcher hitMatcher,
const TrackerGeometry trackerGeom,
const GeometricSearchTracker geometricSearchTracker,
const SiStripQuality stripQuality,
int  stripQualityFlags,
int  stripQualityDebugFlags,
const SiPixelQuality pixelQuality,
const SiPixelFedCabling pixelCabling,
int  pixelQualityFlags,
int  pixelQualityDebugFlags,
const SiStripRegionCabling stripRegionCabling,
bool  isRegional = false 
)

constructor

Definition at line 54 of file OnDemandMeasurementTracker.cc.

References category_, SiStripRegionCabling::elementIndex(), eta(), PV3DBase< T, PVType, FrameType >::eta(), first, SiStripRegionCabling::layerFromDetId(), LogDebug, PV3DBase< T, PVType, FrameType >::phi(), phi, GeomDetEnumerators::PixelBarrel, GeomDetEnumerators::PixelEndcap, SiStripRegionCabling::position(), SiStripRegionCabling::positionIndex(), SiStripRegionCabling::region(), region_mapping, edm::second(), SiStripRegionCabling::subdetFromDetId(), GeomDetEnumerators::TEC, MeasurementTrackerImpl::theDetMap, theDetODMap, MeasurementTrackerImpl::theInactiveStripDetectorLabels, theRawInactiveStripDetIds, theStripRegionCabling, GeomDetEnumerators::TIB, GeomDetEnumerators::TID, and GeomDetEnumerators::TOB.

                                                                       :
  MeasurementTrackerImpl(conf,pixelCPE,stripCPE,hitMatcher,trackerGeom,geometricSearchTracker,
        stripQuality,stripQualityFlags,stripQualityDebugFlags,
        pixelQuality,pixelCabling,pixelQualityFlags,pixelQualityDebugFlags,
        isRegional)
  , category_("OnDemandMeasurementTracker")
  , StayPacked_(true)
  , StripOnDemand_(true)
  , PixelOnDemand_(false)
  , theStripRegionCabling(stripRegionCabling)
{
  //  the constructor does construct the regular MeasurementTracker
  //  then a smart copy of the DetMap is made into DetODMap: this could be avoided with modification to MeasurementDet interface
  //  the elementIndex to be defined in the refgetter is mapped to the detId
  //  flags are set to initialize the DetODMap
  
  std::map<SiStripRegionCabling::ElementIndex, std::vector< DetODContainer::const_iterator> > local_mapping;

  for (DetContainer::iterator it=theDetMap.begin(); it!= theDetMap.end();++it)
    {
      DetODContainer::iterator inserted = theDetODMap.insert(make_pair(it->first,DetODStatus(const_cast<MeasurementDet*>(it->second)))).first;


      GeomDet::SubDetector subdet = it->second->geomDet().subDetector();
      if (subdet == GeomDetEnumerators::PixelBarrel  || subdet == GeomDetEnumerators::PixelEndcap ){
        //special flag treatement for pixels
        //one can never be updated and not defined. except if we don't need to care about them: pixels
        inserted->second.defined=false;
        inserted->second.updated=true;
      }//pixel module
      else if (subdet == GeomDetEnumerators::TIB || subdet == GeomDetEnumerators::TOB ||
          subdet == GeomDetEnumerators::TID || subdet == GeomDetEnumerators::TEC )
        {
          //set flag to false
          inserted->second.defined=false;
          inserted->second.updated=false;

          //what will be the element index in the refgetter
          GlobalPoint center = it->second->geomDet().position();
          double eta = center.eta();
          double phi = center.phi();
          uint32_t id = it->first;
          SiStripRegionCabling::ElementIndex eIndex = theStripRegionCabling->elementIndex(SiStripRegionCabling::Position(eta,phi),
                                                                                          SiStripRegionCabling::subdetFromDetId(id),
                                                                                          SiStripRegionCabling::layerFromDetId(id));
          LogDebug(category_)<<"region selected (from "<<id<<" center) is:\n"
                             <<"position: "<<center
                             <<"\n center absolute index: "<<theStripRegionCabling->region(theStripRegionCabling->positionIndex(SiStripRegionCabling::Position(eta,phi)))
                             <<"\n center position index: "<<theStripRegionCabling->positionIndex(SiStripRegionCabling::Position(eta,phi)).first<<
            " "<<theStripRegionCabling->positionIndex(SiStripRegionCabling::Position(eta,phi)).second
                             <<"\n center postion: "<<theStripRegionCabling->position(theStripRegionCabling->positionIndex(SiStripRegionCabling::Position(eta,phi))).first<<
            " "<<theStripRegionCabling->position(theStripRegionCabling->positionIndex(SiStripRegionCabling::Position(eta,phi))).second
                             <<"\n eta: "<<eta
                             <<"\n phi: "<<phi
                             <<"\n subedet: "<<SiStripRegionCabling::subdetFromDetId(id)
                             <<" layer: "<<SiStripRegionCabling::layerFromDetId(id);

          //      register those in a map
          //to be able to know what are the detid in a given elementIndex
          local_mapping[eIndex].push_back(inserted);
        }//strip module
      else{
        //abort
        edm::LogError(category_)<<"not a tracker geomdet in constructor: "<<it->first;
        throw MeasurementDetException("OnDemandMeasurementTracker dealing with a non tracker GeomDet.");
      }//abort
    }//loop over DetMap
  if (theInactiveStripDetectorLabels.size()!=0)
    theRawInactiveStripDetIds.reserve(200);

  //move into a vector
  region_mapping.reserve(local_mapping.size());
  for( auto eIt= local_mapping.begin();
       eIt!=local_mapping.end();++eIt)
    region_mapping.push_back(std::make_pair((*eIt).first,(*eIt).second));
}
virtual OnDemandMeasurementTracker::~OnDemandMeasurementTracker ( ) [inline, virtual]

destructor

Definition at line 32 of file OnDemandMeasurementTracker.h.

{}

Member Function Documentation

void OnDemandMeasurementTracker::assign ( const TkStripMeasurementDet csmdet,
DetODContainer::iterator *  alreadyFound = 0 
) const [private]

assigne the cluster iterator to the TkStipMeasurementDet (const_cast in the way)

Definition at line 293 of file OnDemandMeasurementTracker.cc.

References category_, dumpCluster(), dumpRegion(), errorMatrix2Lands_multiChannel::id, LogDebug, TkStripMeasurementDet::rawId(), TkStripMeasurementDet::setActiveThisEvent(), TkStripMeasurementDet::setEmpty(), theDetODMap, theRawInactiveStripDetIds, theRefGetterH, and TkStripMeasurementDet::update().

Referenced by idToDet().

                                                                               {
  //  assign is using the handle to the refgetter and the region index range to update the MeasurementDet with their clusters
  
  TkStripMeasurementDet * smdet = const_cast<TkStripMeasurementDet *>(csmdet);
  DetId id = smdet->rawId();
  
  LogDebug(category_)<<"assigning: "<<id.rawId();

  // what is the iterator. do not look again if already found and provided with
  DetODContainer::iterator elementInMap;
  if (alreadyFound){ elementInMap=*alreadyFound;}
  else{ elementInMap = theDetODMap.find(id);}
  
  if  ( elementInMap != theDetODMap.end()){
    //flag it as updated
    elementInMap->second.updated = true;

    if (!theRawInactiveStripDetIds.empty() && std::binary_search(theRawInactiveStripDetIds.begin(), theRawInactiveStripDetIds.end(), id)) {
      smdet->setActiveThisEvent(false); 
      return;
    }

    //retrieve the region range index for this module
    std::pair<unsigned int,unsigned int> & indexes =elementInMap->second.region_range;

    //this printout will trigger unpacking. no problem. it is done on the next regular line (find(id.rawId())
    LogDebug(category_)<<"between index: "<<indexes.first<<" and: "<<indexes.second
                       <<"\nretrieved for module: "<<id.rawId()
                       <<"\n"<<dumpRegion(indexes,*theRefGetterH);
    
    //look for iterator range in the regions defined for that module
    for (unsigned int iRegion = indexes.first; iRegion != indexes.second; ++iRegion){
      RefGetter::record_pair range = (*theRefGetterH)[iRegion].find(id.rawId());
      if (range.first!=range.second){
        //      found something not empty
        //update the measurementDet
        smdet->update(range.first, range.second);
        LogDebug(category_)<<"Valid clusters for: "<<id.rawId()
                           <<"\nnumber of regions defined here: "<< indexes.second-indexes.first
                           <<"\n"<<dumpCluster(range.first,range.second);
        /* since theStripsToSkip is a "static" pointer of the MT, no need to set it at all time.
          if (selfUpdateSkipClusters_){
          //assign skip clusters
          smdet->setClusterToSkip(&theStripsToSkip);
        }
        */
        //and you are done
        return;}
    }//loop over regions, between indexes

    //if reached. no cluster are found. set the TkStripMeasurementDet to be empty
    smdet->setEmpty();

  }//found in the map
  else{
    //throw excpetion
    edm::LogError(category_)<<"failed to find the MeasurementDet for: "<<id.rawId();
    throw MeasurementDetException("failed to find the MeasurementDet for: <see message logger>");
  }
}
void OnDemandMeasurementTracker::define ( const edm::Handle< edm::LazyGetter< SiStripCluster > > &  ,
std::auto_ptr< RefGetter > &   
) const

OnDemandMeasurementTracker specific function to be called to define the region in the RefGetter according to MeasurementDet content.

Definition at line 146 of file OnDemandMeasurementTracker.cc.

References category_, OnDemandMeasurementTracker::DetODStatus::defined, dumpRegion(), HTMLExport::elem(), LogDebug, region_mapping, OnDemandMeasurementTracker::DetODStatus::region_range, StMeasurementDetSet::setLazyGetter(), StayPacked_, theDetODMap, MeasurementTrackerImpl::theStDets, theStripRegionCabling, and SiStripRegionCabling::updateSiStripRefGetter().

Referenced by MeasurementTrackerSiStripRefGetterProducer::produce().

{
  //  define is supposed to be call by an EDProducer module, which wil put the RefGetter in the event
  //  so that reference can be made to it.
  //  the lazy getter is retrieved by the calling module and passed along with the event
  //  the map is cleared, except for pixel
  //  then the known elementIndex are defined to the RefGetter. no unpacking is done at this time
  //  the defined region range is registered in the DetODMap for further use.

  //clear all defined tags to start from scratch (except for pixel)
  for (DetODContainer::iterator it=theDetODMap.begin(); it!= theDetODMap.end();++it)
    {
      if (it->second.updated && !it->second.defined) continue; //special treatement for pixels
      it->second.defined= false; 
      it->second.updated = false;
    }

  // nedeed??
  theStDets.setLazyGetter(aLazyGetterH);


  //define all the elementindex in the refgetter
  for(auto eIt= region_mapping.begin();
       eIt!=region_mapping.end();++eIt){
    std::pair<unsigned int, unsigned int> region_range; 
    
    //before update of the refgetter
    region_range.first = aGetter->size();
    //update the refegetter with the elementindex
    theStripRegionCabling->updateSiStripRefGetter<SiStripCluster> (*aGetter, aLazyGetterH, eIt->first);
    //after update of the refgetter
    region_range.second = aGetter->size();

    LogDebug(category_)<<"between index: "<<region_range.first<<" "<<region_range.second
                       <<"\n"<<dumpRegion(region_range,*aGetter,StayPacked_);
    
    //now assign to each measurement det for that element index
    for (auto dIt=eIt->second.begin();
         dIt!=eIt->second.end();++dIt){
      DetODStatus & elem = const_cast<DetODStatus &>((*dIt)->second);
      elem.region_range = region_range;
      elem.defined=true;
      LogDebug(category_)<<"detId: "<<(*dIt)->first<<" in region range: "<<region_range.first<<" "<<region_range.second;
    }//loop over MeasurementDet attached to that elementIndex
  }//loop over know elementindex
}
std::string OnDemandMeasurementTracker::dumpCluster ( const std::vector< SiStripCluster >::const_iterator &  begin,
const std::vector< SiStripCluster >::const_iterator &  end 
) const [private]

some printouts, exclusively under LogDebug

Definition at line 255 of file OnDemandMeasurementTracker.cc.

References begin, end, and i.

Referenced by assign(), and dumpRegion().

{
  //  dumpCluster is a printout of all the clusters between the iterator. returns a string
  std::string tab="      ";
  std::stringstream ss;
  std::vector<SiStripCluster> ::const_iterator it = begin;
  unsigned int i=0;
  for (;it!=end;++it){
    ss<<tab<<i++<<") center: "<<it->barycenter()<<",id: "<<it->geographicalId()<<" with: "<<it->amplitudes().size()<<" strips\n"<<tab<<tab<<"{";
    for (unsigned int is=0;is!=it->amplitudes().size();++is){
      ss<<it->amplitudes()[is]<<" ";
    }ss<<"}\n";
  }
  return ss.str();
}
std::string OnDemandMeasurementTracker::dumpRegion ( std::pair< unsigned int, unsigned int >  indexes,
const RefGetter theGetter,
bool  stayUnpacked = false 
) const [private]

Definition at line 271 of file OnDemandMeasurementTracker.cc.

References begin, dumpCluster(), end, pos, SiStripRegionCabling::position(), SiStripRegionCabling::positionIndex(), SiStripRegionCabling::region(), and theStripRegionCabling.

Referenced by assign(), and define().

{
  //  dumpRegion is a printout of all the clusters in a region defined on the RefGetter. returns a string
  std::stringstream ss;
  ss<<"cluster between: "<<indexes.first<<" and: "<<indexes.second<<"\n";
  for (unsigned int iRegion = indexes.first; iRegion != indexes.second; ++iRegion){    
    uint32_t reg = SiStripRegionCabling::region((theGetter)[iRegion].region());
    SiStripRegionCabling::Position pos = theStripRegionCabling->position(reg);
    SiStripRegionCabling::PositionIndex posI = theStripRegionCabling->positionIndex(reg);
    
    ss<<"Clusters for region:["<<iRegion<<"]"
      <<"\n element index: "<<(theGetter)[iRegion].region()
      <<"\n region absolute index: "<<reg
      <<"\n region position index: "<<posI.first<<" "<<posI.second
      <<"\n region position: "<<pos.first<<" "<<pos.second
      <<"\n"<< (stayPacked? " hidden to avoid unpacking." : dumpCluster((theGetter)[iRegion].begin(),(theGetter)[iRegion].end()));
  }
  return ss.str();
}
const MeasurementDet * OnDemandMeasurementTracker::idToDet ( const DetId id) const [virtual]

MeasurementDetSystem interface.

Reimplemented from MeasurementTrackerImpl.

Definition at line 358 of file OnDemandMeasurementTracker.cc.

References assign(), category_, LogDebug, TkGluedMeasurementDet::monoDet(), TkGluedMeasurementDet::stereoDet(), StripOnDemand_, and theDetODMap.

{
  //  overloaded from MeasurementTracker
  //  find the detid. if not found throw exception
  //  if already updated: always for pixel or strip already queried. return it
  DetODContainer::iterator it = theDetODMap.find(id);
  if ( it != theDetODMap.end()) {
    
    //it has already been queried. and so already updated: nothing to be done here (valid for pixels too)
    if (it->second.updated){
      LogDebug(category_)<<"found id: "<<id.rawId()<<" as aleardy updated."; 
      return it->second.mdet;
    }
    
    if (StripOnDemand_){
      //check glued or single
      if (it->second.glued){
        //glued det
        LogDebug(category_)<<"updating glued id: "<<id.rawId();
        //cast to specific type
        TkGluedMeasurementDet*  theConcreteDet = static_cast<TkGluedMeasurementDet*>(it->second.mdet);
                
        //      update the two components
        //update the mono
        assign(theConcreteDet->monoDet());
        //update the stereo
        assign(theConcreteDet->stereoDet());
              
        //flag the glued det as updated (components are flagged in assign)
        it->second.updated=true;
      }//glued det
      else{
        //single layer 
        LogDebug(category_)<<"updating singel id: "<<id.rawId();
        //cast to specific type
        TkStripMeasurementDet*  theConcreteDet = static_cast<TkStripMeasurementDet*>(it->second.mdet);

        //update the single layer
        assign(theConcreteDet,&it);
      }//single det
    }
    //eventually return it
    return it->second.mdet;
  }//found in the DetODMap
  else{
    //throw excpetion
    edm::LogError(category_)<<"failed to find the MeasurementDet for: "<<id.rawId();
    throw MeasurementDetException("failed to find the MeasurementDet for: <see message logger>");
  }
  return 0;
}
void OnDemandMeasurementTracker::update ( const edm::Event event) const [virtual]

MeasurementTracker overloaded function.

Reimplemented from MeasurementTrackerImpl.

Definition at line 230 of file OnDemandMeasurementTracker.cc.

References category_, LogDebug, PixelOnDemand_, StripOnDemand_, MeasurementTrackerImpl::updatePixels(), and updateStrips().

{
  //  update is supposed to be called by any module that is useing the MeasurementTracker
  //  after checking the the event has not yet been seen
  //  update the pixel using MeasurementTracekr specific function
  //  retreive the RefGetter from the event: the very one that has been pass to define(...) and put into the event

  if (!PixelOnDemand_) {
    LogDebug(category_)<<"pixel are not OnDemand. updating them a la MeasurmentTracker.";
    MeasurementTrackerImpl::updatePixels(event);}
  else{
    edm::LogError(category_)<<"trying to update siPixel as on-demand. Not Implemented yet.";
  }

  if (!StripOnDemand_) {
    LogDebug(category_)<<"strip are not OnDemand. updating them a la MeasurmentTracker.";
    MeasurementTrackerImpl::updateStrips(event);}
  else{
    LogDebug(category_)<<"strip are OnDemand. updating them a la OnDemandMeasurmentTracker."; 
    updateStrips(event);
  }
}
void OnDemandMeasurementTracker::updateStrips ( const edm::Event event) const [virtual]

Reimplemented from MeasurementTrackerImpl.

Definition at line 194 of file OnDemandMeasurementTracker.cc.

References category_, StMeasurementDetSet::clusterToSkip(), edm::EventID::event(), edm::HandleBase::failedToGet(), MeasurementTrackerImpl::getInactiveStrips(), edm::ParameterSet::getParameter(), edm::EventBase::id(), LogDebug, MeasurementTrackerImpl::name_, MeasurementTrackerImpl::pset_, edm::EventID::run(), MeasurementTrackerImpl::selfUpdateSkipClusters_, StMeasurementDetSet::setLazyGetter(), theLazyGetterH, theRawInactiveStripDetIds, theRefGetterH, theSkipClusterRefs, MeasurementTrackerImpl::theStDets, and theStripClusterMask.

Referenced by update().

{
  bool oncePerEvent= edm::Service<UpdaterService>()->checkOnce("OnDemandMeasurementTracker::updateStrips::"+name_);
  bool failedToGet = false;
  if (!oncePerEvent)
    failedToGet = theRefGetterH.failedToGet() || theLazyGetterH.failedToGet();

  if (oncePerEvent || failedToGet)
    {
      LogDebug(category_)<<"Updating siStrip on event: "<< (unsigned int) event.id().run() <<" : "<<(unsigned int) event.id().event();
      
      //get the ref getter back from the event
      std::string stripClusterProducer = pset_.getParameter<std::string>("stripClusterProducer");
      event.getByLabel(stripClusterProducer,theRefGetterH);
      
      std::string stripLazyGetter = pset_.getParameter<std::string>("stripLazyGetterProducer");
      event.getByLabel(stripLazyGetter,theLazyGetterH);

      theStDets.setLazyGetter(theLazyGetterH);


      //get the skip clusters
      if (selfUpdateSkipClusters_){
        theSkipClusterRefs=true;
        event.getByLabel(pset_.getParameter<edm::InputTag>("skipClusters"),theStripClusterMask);
        theStripClusterMask->copyMaskTo(theStDets.clusterToSkip());
      } else {
        theStDets.clusterToSkip().clear();
      }

      //get the detid that are inactive
      theRawInactiveStripDetIds.clear();
      getInactiveStrips(event,theRawInactiveStripDetIds);
    }
}

Member Data Documentation

log category

Definition at line 50 of file OnDemandMeasurementTracker.h.

Referenced by assign(), define(), idToDet(), OnDemandMeasurementTracker(), update(), and updateStrips().

internal flag to do pixel on demand (not configurable) false by default

Definition at line 56 of file OnDemandMeasurementTracker.h.

Referenced by update().

Definition at line 85 of file OnDemandMeasurementTracker.h.

Referenced by define(), and OnDemandMeasurementTracker().

internal flag to avoid unpacking things with LogDebug on

Definition at line 52 of file OnDemandMeasurementTracker.h.

Referenced by define().

internal flag to do strip on demand (not configurable) true by default

Definition at line 54 of file OnDemandMeasurementTracker.h.

Referenced by idToDet(), and update().

mapping of detid -> MeasurementDet+flags+region_range

Definition at line 81 of file OnDemandMeasurementTracker.h.

Referenced by assign(), define(), idToDet(), and OnDemandMeasurementTracker().

Definition at line 63 of file OnDemandMeasurementTracker.h.

Referenced by updateStrips().

std::vector<uint32_t> OnDemandMeasurementTracker::theRawInactiveStripDetIds [mutable, private]

Definition at line 97 of file OnDemandMeasurementTracker.h.

Referenced by assign(), OnDemandMeasurementTracker(), and updateStrips().

the handle is retrieved from the event to make reference to cluster in it

Definition at line 62 of file OnDemandMeasurementTracker.h.

Referenced by assign(), and updateStrips().

Definition at line 64 of file OnDemandMeasurementTracker.h.

Referenced by updateStrips().

Definition at line 65 of file OnDemandMeasurementTracker.h.

Referenced by updateStrips().

the cabling region tool to update a RefGetter

Definition at line 59 of file OnDemandMeasurementTracker.h.

Referenced by define(), dumpRegion(), and OnDemandMeasurementTracker().