CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TkStripMeasurementDet Class Reference

#include <TkStripMeasurementDet.h>

Inheritance diagram for TkStripMeasurementDet:
MeasurementDet

Public Types

typedef
StMeasurementDetSet::BadStripBlock 
BadStripBlock
 
typedef
StMeasurementDetSet::BadStripCuts 
BadStripCuts
 
typedef std::vector
< SiStripCluster >
::const_iterator 
const_iterator
 
typedef edmNew::DetSet
< SiStripCluster
detset
 
typedef
StripClusterParameterEstimator::LocalValues 
LocalValues
 
typedef detset::const_iterator new_const_iterator
 
typedef SiStripRecHit2D::ClusterRef SiStripClusterRef
 
typedef edm::LazyGetter
< SiStripCluster >::value_ref 
SiStripRegionalClusterRef
 
typedef
StripClusterParameterEstimator::VLocalValues 
VLocalValues
 
- Public Types inherited from MeasurementDet
typedef
TransientTrackingRecHit::ConstRecHitContainer 
RecHitContainer
 

Public Member Functions

bool accept (SiStripClusterRef &r) const
 
bool accept (SiStripRegionalClusterRef &r) const
 
std::vector< BadStripBlock >
const & 
badStripBlocks () const
 
unsigned int beginClusterI () const
 
TransientTrackingRecHit::RecHitPointer buildRecHit (const SiStripClusterRef &, const TrajectoryStateOnSurface &ltp) const
 
TransientTrackingRecHit::RecHitPointer buildRecHit (const SiStripRegionalClusterRef &, const TrajectoryStateOnSurface &ltp) const
 
TkStripMeasurementDet::RecHitContainer buildRecHits (const SiStripClusterRef &, const TrajectoryStateOnSurface &ltp) const
 
TkStripMeasurementDet::RecHitContainer buildRecHits (const SiStripRegionalClusterRef &, const TrajectoryStateOnSurface &ltp) const
 
const detsetdetSet () const
 
detsetdetSet ()
 
unsigned int endClusterI () const
 
virtual std::vector
< TrajectoryMeasurement
fastMeasurements (const TrajectoryStateOnSurface &stateOnThisDet, const TrajectoryStateOnSurface &startingState, const Propagator &, const MeasurementEstimator &) const
 
std::vector< BadStripBlock > & getBadStripBlocks ()
 
bool hasAllGoodChannels () const
 does this module have at least one bad strip, APV or channel? More...
 
bool hasBadComponents (const TrajectoryStateOnSurface &tsos) const
 
int index () const
 
bool isActive () const
 Is this module active in reconstruction? It must be both 'setActiveThisEvent' and 'setActive'. More...
 
bool isEmpty () const
 
bool isRegional () const
 
bool maskBad128StripBlocks () const
 
unsigned int rawId () const
 
virtual RecHitContainer recHits (const TrajectoryStateOnSurface &) const
 
void set128StripStatus (bool good, int idx=-1)
 Sets the status of a block of 128 strips (or all blocks if idx=-1) More...
 
void setActive (bool active)
 Turn on/off the module for reconstruction, for the full run or lumi (using info from DB, usually). This also resets the 'setActiveThisEvent' to true. More...
 
void setActiveThisEvent (bool active)
 Turn on/off the module for reconstruction for one events. This per-event flag is cleared by any call to 'update' or 'setEmpty'. More...
 
void setEmpty ()
 
void setIndex (int i)
 
void simpleRecHits (const TrajectoryStateOnSurface &ts, std::vector< SiStripRecHit2D > &result) const
 
int size () const
 
const StripGeomDetUnitspecificGeomDet () const
 
unsigned char subId () const
 
bool testStrips (float utraj, float uerr) const
 return true if there are 'enough' good strips in the utraj +/- 3 uerr range. More...
 
const detsettheSet () const
 
 TkStripMeasurementDet (const GeomDet *gdet, StMeasurementDetSet &dets)
 
void update (const detset &detSet)
 
void update (std::vector< SiStripCluster >::const_iterator begin, std::vector< SiStripCluster >::const_iterator end)
 
virtual ~TkStripMeasurementDet ()
 
- Public Member Functions inherited from MeasurementDet
const GeomDetfastGeomDet () const
 
virtual const GeomDetgeomDet () const
 
 MeasurementDet (const GeomDet *gdet)
 
const Surface::PositionTypeposition () const
 
const BoundSurfacesurface () const
 

Private Member Functions

BadStripCuts const & badStripCuts () const
 
template<class ClusterRefT >
void buildSimpleRecHit (const ClusterRefT &cluster, const TrajectoryStateOnSurface &ltp, std::vector< SiStripRecHit2D > &res) const
 
const
StripClusterParameterEstimator
cpe () const
 
edm::Handle
< edmNew::DetSetVector
< SiStripCluster > > const & 
handle () const
 
bool hasAny128StripBad () const
 
bool isMasked (const SiStripCluster &cluster) const
 
edm::Handle< edm::LazyGetter
< SiStripCluster > > const & 
regionalHandle () const
 
const std::vector< bool > & skipClusters () const
 
StMeasurementDetSettheDets ()
 
StMeasurementDetSettheDets () const
 
int totalStrips () const
 

Private Attributes

int index_
 
StMeasurementDetSettheDets_
 

Detailed Description

Definition at line 22 of file TkStripMeasurementDet.h.

Member Typedef Documentation

Definition at line 125 of file TkStripMeasurementDet.h.

Definition at line 120 of file TkStripMeasurementDet.h.

Definition at line 35 of file TkStripMeasurementDet.h.

Definition at line 32 of file TkStripMeasurementDet.h.

Definition at line 25 of file TkStripMeasurementDet.h.

Definition at line 33 of file TkStripMeasurementDet.h.

Definition at line 28 of file TkStripMeasurementDet.h.

Definition at line 30 of file TkStripMeasurementDet.h.

Definition at line 26 of file TkStripMeasurementDet.h.

Constructor & Destructor Documentation

virtual TkStripMeasurementDet::~TkStripMeasurementDet ( )
inlinevirtual

Definition at line 37 of file TkStripMeasurementDet.h.

37 {}
TkStripMeasurementDet::TkStripMeasurementDet ( const GeomDet gdet,
StMeasurementDetSet dets 
)

Definition at line 17 of file TkStripMeasurementDet.cc.

19  :
20  MeasurementDet (gdet),theDets_(&dets), index_(-1)
21  {
22  if (dynamic_cast<const StripGeomDetUnit*>(gdet) == 0) {
23  throw MeasurementDetException( "TkStripMeasurementDet constructed with a GeomDet which is not a StripGeomDetUnit");
24  }
25  }
MeasurementDet(const GeomDet *gdet)
StMeasurementDetSet * theDets_

Member Function Documentation

bool TkStripMeasurementDet::accept ( SiStripClusterRef r) const
inline

Definition at line 174 of file TkStripMeasurementDet.h.

References relativeConstraints::empty, edm::Ref< C, T, F >::key(), and skipClusters().

Referenced by Vispa.Gui.BoxContentDialog.BoxContentDialog::apply(), Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog::apply(), fastMeasurements(), recHits(), and simpleRecHits().

174  {
175  if(skipClusters().empty()) return true;
176  if (r.key()>=skipClusters().size()){
177  edm::LogError("WrongStripMasking")<<r.key()<<" is larger than: "<<skipClusters().size()<<" no skipping done";
178  return true;
179  }
180  return (not (skipClusters()[r.key()]));
181  }
const std::vector< bool > & skipClusters() const
bool TkStripMeasurementDet::accept ( SiStripRegionalClusterRef r) const
inline

Definition at line 182 of file TkStripMeasurementDet.h.

References relativeConstraints::empty, edm::Ref< C, T, F >::key(), LogDebug, and skipClusters().

Referenced by Vispa.Gui.BoxContentDialog.BoxContentDialog::apply(), and Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog::apply().

182  {
183  if(skipClusters().empty()) return true;
184  if (r.key()>=skipClusters().size()){
185  LogDebug("TkStripMeasurementDet")<<r.key()<<" is larger than: "<<skipClusters().size()
186  <<"\n This must be a new cluster, and therefore should not be skiped most likely.";
187  return true;
188  }
189  return (not (skipClusters()[r.key()]));
190  }
#define LogDebug(id)
const std::vector< bool > & skipClusters() const
std::vector<BadStripBlock> const& TkStripMeasurementDet::badStripBlocks ( ) const
inline

Definition at line 128 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::badStripBlocks(), index(), and theDets().

Referenced by hasAllGoodChannels(), and testStrips().

128 { return theDets().badStripBlocks(index()); }
StMeasurementDetSet & theDets()
std::vector< BadStripBlock > const & badStripBlocks(int i) const
BadStripCuts const& TkStripMeasurementDet::badStripCuts ( ) const
inlineprivate

Definition at line 155 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::badStripCuts(), index(), and theDets().

Referenced by testStrips().

155 { return theDets().badStripCuts(index());}
StMeasurementDetSet & theDets()
BadStripCuts & badStripCuts(int i)
unsigned int TkStripMeasurementDet::beginClusterI ( ) const
inline

Definition at line 66 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::beginClusterI(), index(), and theDets().

Referenced by fastMeasurements(), recHits(), simpleRecHits(), and size().

66 {return theDets().beginClusterI(index());}
StMeasurementDetSet & theDets()
unsigned int beginClusterI(int i) const
TransientTrackingRecHit::RecHitPointer TkStripMeasurementDet::buildRecHit ( const SiStripClusterRef cluster,
const TrajectoryStateOnSurface ltp 
) const

Definition at line 189 of file TkStripMeasurementDet.cc.

References TSiStripRecHit2DLocalPos::build(), cpe(), MeasurementDet::fastGeomDet(), ClusterParameterEstimator< T >::localParameters(), and specificGeomDet().

Referenced by recHits().

191 {
192  const GeomDetUnit& gdu( specificGeomDet());
193  LocalValues lv = cpe()->localParameters( *cluster, gdu, ltp);
194  return TSiStripRecHit2DLocalPos::build( lv.first, lv.second, &fastGeomDet(), cluster, cpe());
195 }
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
StripClusterParameterEstimator::LocalValues LocalValues
const GeomDet & fastGeomDet() const
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
const StripGeomDetUnit & specificGeomDet() const
const StripClusterParameterEstimator * cpe() const
TransientTrackingRecHit::RecHitPointer TkStripMeasurementDet::buildRecHit ( const SiStripRegionalClusterRef cluster,
const TrajectoryStateOnSurface ltp 
) const

Definition at line 198 of file TkStripMeasurementDet.cc.

References TSiStripRecHit2DLocalPos::build(), cpe(), MeasurementDet::fastGeomDet(), ClusterParameterEstimator< T >::localParameters(), and specificGeomDet().

200 {
201  const GeomDetUnit& gdu( specificGeomDet());
202  LocalValues lv = cpe()->localParameters( *cluster, gdu, ltp);
203  return TSiStripRecHit2DLocalPos::build( lv.first, lv.second, &fastGeomDet(), cluster, cpe());
204 }
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
StripClusterParameterEstimator::LocalValues LocalValues
const GeomDet & fastGeomDet() const
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
const StripGeomDetUnit & specificGeomDet() const
const StripClusterParameterEstimator * cpe() const
TkStripMeasurementDet::RecHitContainer TkStripMeasurementDet::buildRecHits ( const SiStripClusterRef cluster,
const TrajectoryStateOnSurface ltp 
) const

Definition at line 209 of file TkStripMeasurementDet.cc.

References TSiStripRecHit2DLocalPos::build(), cpe(), MeasurementDet::fastGeomDet(), ClusterParameterEstimator< T >::localParametersV(), and specificGeomDet().

Referenced by fastMeasurements().

211 {
212  const GeomDetUnit& gdu( specificGeomDet());
213  VLocalValues vlv = cpe()->localParametersV( *cluster, gdu, ltp);
214  RecHitContainer res;
215  for(VLocalValues::const_iterator it=vlv.begin();it!=vlv.end();++it){
216  res.push_back(TSiStripRecHit2DLocalPos::build( it->first, it->second, &fastGeomDet(), cluster, cpe()));
217  }
218  return res;
219 }
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
StripClusterParameterEstimator::VLocalValues VLocalValues
TransientTrackingRecHit::ConstRecHitContainer RecHitContainer
const GeomDet & fastGeomDet() const
virtual VLocalValues localParametersV(const T &cluster, const GeomDetUnit &gd) const
const StripGeomDetUnit & specificGeomDet() const
const StripClusterParameterEstimator * cpe() const
TkStripMeasurementDet::RecHitContainer TkStripMeasurementDet::buildRecHits ( const SiStripRegionalClusterRef cluster,
const TrajectoryStateOnSurface ltp 
) const

Definition at line 223 of file TkStripMeasurementDet.cc.

References TSiStripRecHit2DLocalPos::build(), cpe(), MeasurementDet::fastGeomDet(), ClusterParameterEstimator< T >::localParametersV(), and specificGeomDet().

225 {
226  const GeomDetUnit& gdu( specificGeomDet());
227  VLocalValues vlv = cpe()->localParametersV( *cluster, gdu, ltp);
228  RecHitContainer res;
229  for(VLocalValues::const_iterator it=vlv.begin();it!=vlv.end();++it){
230  res.push_back(TSiStripRecHit2DLocalPos::build( it->first, it->second, &fastGeomDet(), cluster, cpe()));
231  }
232  return res;
233 }
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
StripClusterParameterEstimator::VLocalValues VLocalValues
TransientTrackingRecHit::ConstRecHitContainer RecHitContainer
const GeomDet & fastGeomDet() const
virtual VLocalValues localParametersV(const T &cluster, const GeomDetUnit &gd) const
const StripGeomDetUnit & specificGeomDet() const
const StripClusterParameterEstimator * cpe() const
template<class ClusterRefT >
void TkStripMeasurementDet::buildSimpleRecHit ( const ClusterRefT &  cluster,
const TrajectoryStateOnSurface ltp,
std::vector< SiStripRecHit2D > &  res 
) const
private

Definition at line 270 of file TkStripMeasurementDet.cc.

References cpe(), ClusterParameterEstimator< T >::localParametersV(), rawId(), and specificGeomDet().

Referenced by simpleRecHits().

273 {
274  const GeomDetUnit& gdu( specificGeomDet());
275  VLocalValues vlv = cpe()->localParametersV( *cluster, gdu, ltp);
276  for(VLocalValues::const_iterator it=vlv.begin();it!=vlv.end();++it){
277  res.push_back(SiStripRecHit2D( it->first, it->second, rawId(), cluster));
278  }
279 }
StripClusterParameterEstimator::VLocalValues VLocalValues
virtual VLocalValues localParametersV(const T &cluster, const GeomDetUnit &gd) const
const StripGeomDetUnit & specificGeomDet() const
const StripClusterParameterEstimator * cpe() const
unsigned int rawId() const
const StripClusterParameterEstimator* TkStripMeasurementDet::cpe ( ) const
inlineprivate

Definition at line 147 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::stripCPE(), and theDets().

Referenced by buildRecHit(), buildRecHits(), and buildSimpleRecHit().

147 { return theDets().stripCPE(); }
StMeasurementDetSet & theDets()
const StripClusterParameterEstimator * stripCPE() const
const detset& TkStripMeasurementDet::detSet ( ) const
inline

Definition at line 64 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::detSet(), index(), and theDets().

Referenced by fastMeasurements(), recHits(), and simpleRecHits().

64 {return theDets().detSet(index());}
StripDetset & detSet(int i)
StMeasurementDetSet & theDets()
detset& TkStripMeasurementDet::detSet ( )
inline

Definition at line 65 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::detSet(), index(), and theDets().

65 { return theDets().detSet(index());}
StripDetset & detSet(int i)
StMeasurementDetSet & theDets()
unsigned int TkStripMeasurementDet::endClusterI ( ) const
inline

Definition at line 67 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::endClusterI(), index(), and theDets().

Referenced by fastMeasurements(), recHits(), simpleRecHits(), and size().

67 {return theDets().endClusterI(index());}
StMeasurementDetSet & theDets()
unsigned int endClusterI(int i) const
std::vector< TrajectoryMeasurement > TkStripMeasurementDet::fastMeasurements ( const TrajectoryStateOnSurface stateOnThisDet,
const TrajectoryStateOnSurface startingState,
const Propagator ,
const MeasurementEstimator  
) const
virtual

faster version in case the TrajectoryState on the surface of the Det is already available. The first TrajectoryStateOnSurface is on the surface of this Det, and the second TrajectoryStateOnSurface is the statrting state, usually not on the surface of this Det. The stateOnThisDet should the result of
prop.propagate( startingState, this->surface())

Implements MeasurementDet.

Definition at line 30 of file TkStripMeasurementDet.cc.

References accept(), begin, beginClusterI(), InvalidTransientRecHit::build(), buildRecHits(), detSet(), end, edmNew::DetSet< T >::end(), endClusterI(), MeasurementEstimator::estimate(), F(), MeasurementDet::fastGeomDet(), MeasurementDet::geomDet(), handle(), TrajectoryStateOnSurface::hasError(), TrackingRecHit::inactive, isActive(), isEmpty(), isMasked(), isRegional(), edm::Ref< C, T, F >::key(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localPosition(), LogDebug, edmNew::makeRefTo(), edm::makeRefToLazyGetter(), Topology::measurementPosition(), TrackingRecHit::missing, LocalTrajectoryError::positionError(), rawId(), recHits(), regionalHandle(), query::result, size(), python.multivaluedict::sort(), specificGeomDet(), StripGeomDetUnit::specificTopology(), mathSSE::sqrt(), testStrips(), and vdt::x.

34 {
35  std::vector<TrajectoryMeasurement> result;
36 
37  if (!isActive()) {
38  LogDebug("TkStripMeasurementDet")<<" found an inactive module "<<rawId();
39  result.push_back( TrajectoryMeasurement( stateOnThisDet,
41  0.F));
42  return result;
43  }
44 
45  float utraj = specificGeomDet().specificTopology().measurementPosition( stateOnThisDet.localPosition()).x();
46  float uerr;
47  // if (theClusterRange.first == theClusterRange.second) { // empty
48  if (isEmpty()){
49  LogDebug("TkStripMeasurementDet") << " DetID " << rawId() << " empty ";
50  if (stateOnThisDet.hasError()){
51  uerr= sqrt(specificGeomDet().specificTopology().measurementError(stateOnThisDet.localPosition(),stateOnThisDet.localError().positionError()).uu());
52  if (testStrips(utraj,uerr)) {
54  } else {
56  }
57  }else{
59  }
60  return result;
61  }
62 
63  if(!isRegional()){//old implemetation with DetSet
64  auto rightCluster =
65  std::find_if( detSet().begin(), detSet().end(), StripClusterAboveU( utraj)); //FIXME
66 
67  if ( rightCluster != detSet().begin()) {
68  // there are hits on the left of the utraj
69  new_const_iterator leftCluster = rightCluster;
70  while ( --leftCluster >= detSet().begin()) {
71  if (isMasked(*leftCluster)) continue;
72  SiStripClusterRef clusterref = edmNew::makeRefTo( handle(), leftCluster );
73  if (accept(clusterref)){
74  RecHitContainer recHits = buildRecHits(clusterref,stateOnThisDet);
75  bool isCompatible(false);
76  for(RecHitContainer::const_iterator recHit=recHits.begin();recHit!=recHits.end();++recHit){
77  std::pair<bool,double> diffEst = est.estimate(stateOnThisDet, **recHit);
78  if ( diffEst.first ) {
79  result.push_back( TrajectoryMeasurement( stateOnThisDet, *recHit,
80  diffEst.second));
81  isCompatible = true;
82  }
83  }
84  if(!isCompatible) break; // exit loop on first incompatible hit
85  }
86  else LogDebug("TkStripMeasurementDet")<<"skipping this str from last iteration on"<<rawId()<<" key: "<<clusterref.key();
87  }
88  }
89 
90 
91  for ( ; rightCluster != detSet().end(); rightCluster++) {
92  if (isMasked(*rightCluster)) continue;
93  SiStripClusterRef clusterref = edmNew::makeRefTo( handle(), rightCluster );
94  if (accept(clusterref)){
95  RecHitContainer recHits = buildRecHits(clusterref,stateOnThisDet);
96  bool isCompatible(false);
97  for(RecHitContainer::const_iterator recHit=recHits.begin();recHit!=recHits.end();++recHit){
98  std::pair<bool,double> diffEst = est.estimate(stateOnThisDet, **recHit);
99  if ( diffEst.first ) {
100  result.push_back( TrajectoryMeasurement( stateOnThisDet, *recHit,
101  diffEst.second));
102  isCompatible = true;
103  }
104  }
105  if(!isCompatible) break; // exit loop on first incompatible hit
106  }
107  else LogDebug("TkStripMeasurementDet")<<"skipping this str from last iteration on" << rawId()<<" key: "<<clusterref.key();
108  }
109  }// end block with DetSet
110  else{
111  LogDebug("TkStripMeasurementDet")<<" finding left/ right";
112  result.reserve(size());
113  unsigned int rightCluster = beginClusterI();
114  for (; rightCluster!= endClusterI();++rightCluster){
116  if (clusterref->barycenter() > utraj) break;
117  }
118 
119  unsigned int leftCluster = 1;
120  for (unsigned int iReadBackWard=1; iReadBackWard<=(rightCluster-beginClusterI()) ; ++iReadBackWard){
121  leftCluster=rightCluster-iReadBackWard;
123  if (isMasked(*clusterref)) continue;
124  if (accept(clusterref)){
125  RecHitContainer recHits = buildRecHits(clusterref,stateOnThisDet);
126  bool isCompatible(false);
127  for(RecHitContainer::const_iterator recHit=recHits.begin();recHit!=recHits.end();++recHit){
128  std::pair<bool,double> diffEst = est.estimate(stateOnThisDet, **recHit);
129  if ( diffEst.first ) {
130  result.push_back( TrajectoryMeasurement( stateOnThisDet, *recHit,
131  diffEst.second));
132  isCompatible = true;
133  }
134  }
135  if(!isCompatible) break; // exit loop on first incompatible hit
136  }
137  else LogDebug("TkStripMeasurementDet")<<"skipping this reg str from last iteration on"<<rawId()<<" key: "<<clusterref.key();
138  }
139 
140 
141  for ( ; rightCluster != endClusterI(); ++rightCluster) {
143  if (isMasked(*clusterref)) continue;
144  if (accept(clusterref)){
145  RecHitContainer recHits = buildRecHits(clusterref,stateOnThisDet);
146  bool isCompatible(false);
147  for(RecHitContainer::const_iterator recHit=recHits.begin();recHit!=recHits.end();++recHit){
148  std::pair<bool,double> diffEst = est.estimate(stateOnThisDet, **recHit);
149  if ( diffEst.first ) {
150  result.push_back( TrajectoryMeasurement( stateOnThisDet, *recHit,
151  diffEst.second));
152  isCompatible = true;
153  }
154  }
155  if(!isCompatible) break; // exit loop on first incompatible hit
156  }
157  else LogDebug("TkStripMeasurementDet")<<"skipping this reg str from last iteration on"<<rawId()<<" key: "<<clusterref.key();
158  }
159  }
160 
161 
162  if ( result.empty()) {
163  // create a TrajectoryMeasurement with an invalid RecHit and zero estimate
164  if (stateOnThisDet.hasError()){
165  uerr= sqrt(specificGeomDet().specificTopology().measurementError(stateOnThisDet.localPosition(),stateOnThisDet.localError().positionError()).uu());
166  if (testStrips(utraj,uerr)) {
167  //LogDebug("TkStripMeasurementDet") << " DetID " << id_ << " empty after search, but active ";
168  result.push_back( TrajectoryMeasurement( stateOnThisDet, InvalidTransientRecHit::build(&fastGeomDet(), TrackingRecHit::missing), 0.F));
169  } else {
170  //LogDebug("TkStripMeasurementDet") << " DetID " << id_ << " empty after search, and inactive ";
172  }
173  }else{
174  result.push_back( TrajectoryMeasurement( stateOnThisDet, InvalidTransientRecHit::build(&fastGeomDet(), TrackingRecHit::missing), 0.F));
175  }
176  }
177  else {
178  //LogDebug("TkStripMeasurementDet") << " DetID " << id_ << " full: " << (result.size()) << " compatible hits";
179  // sort results according to estimator value
180  if ( result.size() > 1) {
181  std::sort( result.begin(), result.end(), TrajMeasLessEstim());
182  }
183  }
184  return result;
185 }
#define LogDebug(id)
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
static RecHitPointer build(const GeomDet *geom, Type type=TrackingRecHit::missing, const DetLayer *layer=0)
edm::Handle< edmNew::DetSetVector< SiStripCluster > > const & handle() const
TransientTrackingRecHit::ConstRecHitContainer RecHitContainer
virtual const GeomDet & geomDet() const
virtual RecHitContainer recHits(const TrajectoryStateOnSurface &) const
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
LocalError positionError() const
bool isMasked(const SiStripCluster &cluster) const
const GeomDet & fastGeomDet() const
unsigned int beginClusterI() const
edm::Handle< edm::LazyGetter< SiStripCluster > > const & regionalHandle() const
unsigned int endClusterI() const
T sqrt(T t)
Definition: SSEVec.h:46
tuple result
Definition: query.py:137
Ref< LazyGetter< T >, T, FindValue< T > > makeRefToLazyGetter(const Handle< LazyGetter< T > > &handle, const uint32_t index)
Definition: LazyGetter.h:532
TkStripMeasurementDet::RecHitContainer buildRecHits(const SiStripClusterRef &, const TrajectoryStateOnSurface &ltp) const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
#define end
Definition: vmac.h:38
const LocalTrajectoryError & localError() const
bool accept(SiStripClusterRef &r) const
edm::LazyGetter< SiStripCluster >::value_ref SiStripRegionalClusterRef
const StripGeomDetUnit & specificGeomDet() const
const detset & detSet() const
SiStripRecHit2D::ClusterRef SiStripClusterRef
#define begin
Definition: vmac.h:31
iterator end()
Definition: DetSetNew.h:59
detset::const_iterator new_const_iterator
bool testStrips(float utraj, float uerr) const
return true if there are &#39;enough&#39; good strips in the utraj +/- 3 uerr range.
bool isActive() const
Is this module active in reconstruction? It must be both &#39;setActiveThisEvent&#39; and &#39;setActive&#39;...
unsigned int rawId() const
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
Definition: blowfish.cc:281
x
Definition: VDTMath.h:216
std::vector<BadStripBlock>& TkStripMeasurementDet::getBadStripBlocks ( )
inline

Definition at line 127 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::getBadStripBlocks(), index(), and theDets().

127 { return theDets().getBadStripBlocks(index()); }
std::vector< BadStripBlock > & getBadStripBlocks(int i)
StMeasurementDetSet & theDets()
edm::Handle<edmNew::DetSetVector<SiStripCluster> > const& TkStripMeasurementDet::handle ( ) const
inlineprivate

Definition at line 144 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::handle(), and theDets().

Referenced by fastMeasurements(), recHits(), and simpleRecHits().

144 { return theDets().handle();}
StMeasurementDetSet & theDets()
edm::Handle< edmNew::DetSetVector< SiStripCluster > > & handle()
bool TkStripMeasurementDet::hasAllGoodChannels ( ) const
inline

does this module have at least one bad strip, APV or channel?

Definition at line 113 of file TkStripMeasurementDet.h.

References badStripBlocks(), and hasAny128StripBad().

Referenced by TkGluedMeasurementDet::fastMeasurements().

113 { return (!hasAny128StripBad()) && badStripBlocks().empty(); }
std::vector< BadStripBlock > const & badStripBlocks() const
bool TkStripMeasurementDet::hasAny128StripBad ( ) const
inlineprivate

Definition at line 157 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::hasAny128StripBad(), index(), and theDets().

Referenced by hasAllGoodChannels().

157 { return theDets().hasAny128StripBad(index()); }
StMeasurementDetSet & theDets()
bool hasAny128StripBad(int i) const
bool TkStripMeasurementDet::hasBadComponents ( const TrajectoryStateOnSurface tsos) const
inlinevirtual

Implements MeasurementDet.

Definition at line 76 of file TkStripMeasurementDet.h.

76 {return false;}
int TkStripMeasurementDet::index ( ) const
inline
bool TkStripMeasurementDet::isActive ( ) const
inlinevirtual

Is this module active in reconstruction? It must be both 'setActiveThisEvent' and 'setActive'.

Implements MeasurementDet.

Definition at line 73 of file TkStripMeasurementDet.h.

References index(), StMeasurementDetSet::isActive(), and theDets().

Referenced by TkGluedMeasurementDet::fastMeasurements(), fastMeasurements(), TkGluedMeasurementDet::isActive(), recHits(), and simpleRecHits().

73 { return theDets().isActive(index()); }
StMeasurementDetSet & theDets()
bool isActive(int i) const
bool TkStripMeasurementDet::isEmpty ( void  ) const
inline

Definition at line 55 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::empty(), index(), and theDets().

Referenced by fastMeasurements(), recHits(), and simpleRecHits().

55 {return theDets().empty(index());}
StMeasurementDetSet & theDets()
bool empty(int i) const
bool TkStripMeasurementDet::isMasked ( const SiStripCluster cluster) const
inlineprivate

Definition at line 162 of file TkStripMeasurementDet.h.

References index(), StMeasurementDetSet::isMasked(), and theDets().

Referenced by fastMeasurements(), recHits(), and simpleRecHits().

162  {
163  return theDets().isMasked(index(), cluster);
164  }
bool isMasked(int i, const SiStripCluster &cluster) const
StMeasurementDetSet & theDets()
bool TkStripMeasurementDet::isRegional ( ) const
inline

Definition at line 51 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::isRegional(), and theDets().

Referenced by fastMeasurements(), recHits(), and simpleRecHits().

51 { return theDets().isRegional();}
StMeasurementDetSet & theDets()
bool TkStripMeasurementDet::maskBad128StripBlocks ( ) const
inline

Definition at line 130 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::maskBad128StripBlocks(), and theDets().

130 { return theDets().maskBad128StripBlocks();}
StMeasurementDetSet & theDets()
bool maskBad128StripBlocks() const
unsigned int TkStripMeasurementDet::rawId ( ) const
inline
TkStripMeasurementDet::RecHitContainer TkStripMeasurementDet::recHits ( const TrajectoryStateOnSurface ts) const
virtual

Implements MeasurementDet.

Definition at line 238 of file TkStripMeasurementDet.cc.

References accept(), begin, beginClusterI(), buildRecHit(), detSet(), edmNew::DetSet< T >::end(), endClusterI(), handle(), isActive(), isEmpty(), isMasked(), isRegional(), edm::Ref< C, T, F >::key(), LogDebug, edmNew::makeRefTo(), edm::makeRefToLazyGetter(), rawId(), regionalHandle(), query::result, and size().

Referenced by TkGluedMeasurementDet::collectRecHits(), and fastMeasurements().

239 {
241  if (isEmpty() == true) return result;
242  if (isActive() == false) return result; // GIO
243 
244  if(!isRegional()){//old implemetation with DetSet
245  result.reserve(detSet().size());
246  for ( new_const_iterator ci = detSet().begin(); ci != detSet().end(); ++ ci ) {
247  if (isMasked(*ci)) continue;
248  // for ( ClusterIterator ci=theClusterRange.first; ci != theClusterRange.second; ci++) {
249  SiStripClusterRef cluster = edmNew::makeRefTo( handle(), ci );
250  if (accept(cluster))
251  result.push_back( buildRecHit( cluster, ts));
252  else LogDebug("TkStripMeasurementDet")<<"skipping this str from last iteration on"<<rawId()<<" key: "<<cluster.key();
253  }
254  }else{
255  result.reserve(size());
256  for (unsigned int ci = beginClusterI() ; ci!= endClusterI();++ci){
258  if (isMasked(*clusterRef)) continue;
259  if (accept(clusterRef))
260  result.push_back( buildRecHit( clusterRef, ts));
261  else LogDebug("TkStripMeasurementDet")<<"skipping this reg str from last iteration on"<<rawId()<<" key: "<<clusterRef.key();
262  }
263  }
264  return result;
265 
266 }
#define LogDebug(id)
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
edm::Handle< edmNew::DetSetVector< SiStripCluster > > const & handle() const
TransientTrackingRecHit::ConstRecHitContainer RecHitContainer
TransientTrackingRecHit::RecHitPointer buildRecHit(const SiStripClusterRef &, const TrajectoryStateOnSurface &ltp) const
bool isMasked(const SiStripCluster &cluster) const
unsigned int beginClusterI() const
edm::Handle< edm::LazyGetter< SiStripCluster > > const & regionalHandle() const
unsigned int endClusterI() const
tuple result
Definition: query.py:137
Ref< LazyGetter< T >, T, FindValue< T > > makeRefToLazyGetter(const Handle< LazyGetter< T > > &handle, const uint32_t index)
Definition: LazyGetter.h:532
bool accept(SiStripClusterRef &r) const
edm::LazyGetter< SiStripCluster >::value_ref SiStripRegionalClusterRef
const detset & detSet() const
SiStripRecHit2D::ClusterRef SiStripClusterRef
#define begin
Definition: vmac.h:31
iterator end()
Definition: DetSetNew.h:59
detset::const_iterator new_const_iterator
bool isActive() const
Is this module active in reconstruction? It must be both &#39;setActiveThisEvent&#39; and &#39;setActive&#39;...
unsigned int rawId() const
edm::Handle<edm::LazyGetter<SiStripCluster> > const& TkStripMeasurementDet::regionalHandle ( ) const
inlineprivate

Definition at line 145 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::regionalHandle(), and theDets().

Referenced by fastMeasurements(), recHits(), and simpleRecHits().

145 { return theDets().regionalHandle();}
edm::Handle< edm::LazyGetter< SiStripCluster > > & regionalHandle()
StMeasurementDetSet & theDets()
void TkStripMeasurementDet::set128StripStatus ( bool  good,
int  idx = -1 
)
inline

Sets the status of a block of 128 strips (or all blocks if idx=-1)

Definition at line 116 of file TkStripMeasurementDet.h.

References index(), StMeasurementDetSet::set128StripStatus(), and theDets().

116  {
117  theDets().set128StripStatus(index(),good,idx);
118  }
StMeasurementDetSet & theDets()
void set128StripStatus(int i, bool good, int idx=-1)
void TkStripMeasurementDet::setActive ( bool  active)
inline

Turn on/off the module for reconstruction, for the full run or lumi (using info from DB, usually). This also resets the 'setActiveThisEvent' to true.

Definition at line 107 of file TkStripMeasurementDet.h.

References index(), StMeasurementDetSet::setActive(), and theDets().

107 { theDets().setActive(index(),active);}
StMeasurementDetSet & theDets()
void setActive(int i, bool active)
Turn on/off the module for reconstruction, for the full run or lumi (using info from DB...
void TkStripMeasurementDet::setActiveThisEvent ( bool  active)
inline

Turn on/off the module for reconstruction for one events. This per-event flag is cleared by any call to 'update' or 'setEmpty'.

Definition at line 110 of file TkStripMeasurementDet.h.

References index(), StMeasurementDetSet::setActiveThisEvent(), and theDets().

Referenced by OnDemandMeasurementTracker::assign().

110 { theDets().setActiveThisEvent(index(),active); }
StMeasurementDetSet & theDets()
void setActiveThisEvent(int i, bool active)
Turn on/off the module for reconstruction for one events. This per-event flag is cleared by any call ...
void TkStripMeasurementDet::setEmpty ( )
inline
void TkStripMeasurementDet::setIndex ( int  i)
inline

Definition at line 42 of file TkStripMeasurementDet.h.

References i, and index_.

void TkStripMeasurementDet::simpleRecHits ( const TrajectoryStateOnSurface ts,
std::vector< SiStripRecHit2D > &  result 
) const

Definition at line 283 of file TkStripMeasurementDet.cc.

References accept(), begin, beginClusterI(), buildSimpleRecHit(), detSet(), edmNew::DetSet< T >::end(), endClusterI(), handle(), isActive(), isEmpty(), isMasked(), isRegional(), edm::Ref< C, T, F >::key(), LogDebug, edmNew::makeRefTo(), edm::makeRefToLazyGetter(), rawId(), regionalHandle(), and size().

Referenced by TkGluedMeasurementDet::collectRecHits().

284 {
285  if (isEmpty() || !isActive()) return;
286 
287  if(!isRegional()){//old implemetation with DetSet
288  result.reserve(detSet().size());
289  for ( new_const_iterator ci = detSet().begin(); ci != detSet().end(); ++ ci ) {
290  if (isMasked(*ci)) continue;
291  // for ( ClusterIterator ci=theClusterRange.first; ci != theClusterRange.second; ci++) {
292  SiStripClusterRef cluster = edmNew::makeRefTo( handle(), ci );
293  if (accept(cluster))
294  buildSimpleRecHit( cluster, ts,result);
295  else LogDebug("TkStripMeasurementDet")<<"skipping this str from last iteration on"<<rawId()<<" key: "<<cluster.key();
296  }
297  }else{
298  result.reserve(size());
299  for (unsigned int ci = beginClusterI() ; ci!= endClusterI();++ci){
301  if (isMasked(*clusterRef)) continue;
302  if (accept(clusterRef))
303  buildSimpleRecHit( clusterRef, ts,result);
304  else LogDebug("TkStripMeasurementDet")<<"skipping this reg str from last iteration on"<<rawId()<<" key: "<<clusterRef.key();
305  }
306  }
307 }
#define LogDebug(id)
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
void buildSimpleRecHit(const ClusterRefT &cluster, const TrajectoryStateOnSurface &ltp, std::vector< SiStripRecHit2D > &res) const
edm::Handle< edmNew::DetSetVector< SiStripCluster > > const & handle() const
bool isMasked(const SiStripCluster &cluster) const
unsigned int beginClusterI() const
edm::Handle< edm::LazyGetter< SiStripCluster > > const & regionalHandle() const
unsigned int endClusterI() const
tuple result
Definition: query.py:137
Ref< LazyGetter< T >, T, FindValue< T > > makeRefToLazyGetter(const Handle< LazyGetter< T > > &handle, const uint32_t index)
Definition: LazyGetter.h:532
bool accept(SiStripClusterRef &r) const
edm::LazyGetter< SiStripCluster >::value_ref SiStripRegionalClusterRef
const detset & detSet() const
SiStripRecHit2D::ClusterRef SiStripClusterRef
#define begin
Definition: vmac.h:31
iterator end()
Definition: DetSetNew.h:59
detset::const_iterator new_const_iterator
bool isActive() const
Is this module active in reconstruction? It must be both &#39;setActiveThisEvent&#39; and &#39;setActive&#39;...
unsigned int rawId() const
int TkStripMeasurementDet::size ( void  ) const
inline

Definition at line 69 of file TkStripMeasurementDet.h.

References beginClusterI(), and endClusterI().

Referenced by fastMeasurements(), recHits(), and simpleRecHits().

69 {return endClusterI() - beginClusterI() ; }
unsigned int beginClusterI() const
unsigned int endClusterI() const
const std::vector<bool>& TkStripMeasurementDet::skipClusters ( ) const
inlineprivate

Definition at line 150 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::clusterToSkip(), and theDets().

Referenced by accept().

150 { return theDets().clusterToSkip();}
std::vector< bool > & clusterToSkip() const
StMeasurementDetSet & theDets()
const StripGeomDetUnit& TkStripMeasurementDet::specificGeomDet ( ) const
inline
unsigned char TkStripMeasurementDet::subId ( ) const
inline

Definition at line 60 of file TkStripMeasurementDet.h.

References index(), StMeasurementDetSet::subId(), and theDets().

60 { return theDets().subId(index());}
StMeasurementDetSet & theDets()
unsigned char subId(int i) const
bool TkStripMeasurementDet::testStrips ( float  utraj,
float  uerr 
) const

return true if there are 'enough' good strips in the utraj +/- 3 uerr range.

Definition at line 312 of file TkStripMeasurementDet.cc.

References cond::ecalcond::bad(), badStripBlocks(), badStripCuts(), end, f, max(), StMeasurementDetSet::BadStripCuts::maxBad, StMeasurementDetSet::BadStripCuts::maxConsecutiveBad, min, convertSQLiteXML::ok, errorMatrix2Lands_multiChannel::start, and totalStrips().

Referenced by fastMeasurements(), and TkGluedMeasurementDet::testStrips().

312  {
313  int16_t start = (int16_t) std::max<float>(utraj - 3.f*uerr, 0);
314  int16_t end = (int16_t) std::min<float>(utraj + 3.f*uerr, totalStrips());
315 
316  if (start >= end) { // which means either end <=0 or start >= totalStrips_
317  /* LogDebug("TkStripMeasurementDet") << "Testing module " << id_ <<","<<
318  " U = " << utraj << " +/- " << uerr <<
319  "; Range [" << (utraj - 3*uerr) << ", " << (utraj + 3*uerr) << "] " <<
320  ": YOU'RE COMPLETELY OFF THE MODULE."; */
321  //return false;
322  return true; // Wolfgang thinks this way is better
323  // and solves some problems with grouped ckf
324  }
325 
326  typedef std::vector<BadStripBlock>::const_iterator BSBIT;
327 
328  int16_t bad = 0, largestBadBlock = 0;
329  for (BSBIT bsbc = badStripBlocks().begin(), bsbe = badStripBlocks().end(); bsbc != bsbe; ++bsbc) {
330  if (bsbc->last < start) continue;
331  if (bsbc->first > end) break;
332  int16_t thisBad = std::min(bsbc->last, end) - std::max(bsbc->first, start);
333  if (thisBad > largestBadBlock) largestBadBlock = thisBad;
334  bad += thisBad;
335  }
336 
337  bool ok = (bad < (end-start)) &&
338  (uint16_t(bad) <= badStripCuts().maxBad) &&
339  (uint16_t(largestBadBlock) <= badStripCuts().maxConsecutiveBad);
340 
341 // if (bad) {
342 // edm::LogWarning("TkStripMeasurementDet") << "Testing module " << id_ <<" (subdet: "<< SiStripDetId(id_).subdetId() << ")" <<
343 // " U = " << utraj << " +/- " << uerr <<
344 // "; Range [" << (utraj - 3*uerr) << ", " << (utraj + 3*uerr) << "] " <<
345 // "= [" << start << "," << end << "]" <<
346 // " total strips:" << (end-start) << ", good:" << (end-start-bad) << ", bad:" << bad << ", largestBadBlock: " << largestBadBlock <<
347 // ". " << (ok ? "OK" : "NO");
348 // }
349  return ok;
350 }
BadStripCuts const & badStripCuts() const
#define min(a, b)
Definition: mlp_lapack.h:161
int bad(Items const &cont)
const T & max(const T &a, const T &b)
std::vector< BadStripBlock > const & badStripBlocks() const
double f[11][100]
#define end
Definition: vmac.h:38
StMeasurementDetSet& TkStripMeasurementDet::theDets ( )
inlineprivate
StMeasurementDetSet& TkStripMeasurementDet::theDets ( ) const
inlineprivate

Definition at line 137 of file TkStripMeasurementDet.h.

References theDets_.

137 { return *theDets_;}
StMeasurementDetSet * theDets_
const detset& TkStripMeasurementDet::theSet ( ) const
inline

Definition at line 63 of file TkStripMeasurementDet.h.

References StMeasurementDetSet::detSet(), index(), and theDets().

63 {return theDets().detSet(index());}
StripDetset & detSet(int i)
StMeasurementDetSet & theDets()
int TkStripMeasurementDet::totalStrips ( ) const
inlineprivate

Definition at line 154 of file TkStripMeasurementDet.h.

References index(), theDets(), and StMeasurementDetSet::totalStrips().

Referenced by testStrips().

154 { return theDets().totalStrips(index()); }
StMeasurementDetSet & theDets()
int totalStrips(int i) const
void TkStripMeasurementDet::update ( const detset detSet)
inline

Definition at line 44 of file TkStripMeasurementDet.h.

References index(), theDets(), and StMeasurementDetSet::update().

Referenced by progressbar.ProgressBar::__next__(), relval_steps.Matrix::__setitem__(), relval_steps.Steps::__setitem__(), OnDemandMeasurementTracker::assign(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), relval_steps.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

44  {
46  }
void update(int i, const StripDetset &detSet)
StMeasurementDetSet & theDets()
const detset & detSet() const
void TkStripMeasurementDet::update ( std::vector< SiStripCluster >::const_iterator  begin,
std::vector< SiStripCluster >::const_iterator  end 
)
inline

Definition at line 47 of file TkStripMeasurementDet.h.

References index(), theDets(), and StMeasurementDetSet::update().

Referenced by progressbar.ProgressBar::__next__(), relval_steps.Matrix::__setitem__(), relval_steps.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), relval_steps.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

47  {
48  theDets().update(index(), begin, end);
49  }
void update(int i, const StripDetset &detSet)
StMeasurementDetSet & theDets()
#define end
Definition: vmac.h:38
#define begin
Definition: vmac.h:31

Member Data Documentation

int TkStripMeasurementDet::index_
private

Definition at line 140 of file TkStripMeasurementDet.h.

Referenced by index(), and setIndex().

StMeasurementDetSet* TkStripMeasurementDet::theDets_
private

Definition at line 139 of file TkStripMeasurementDet.h.

Referenced by theDets().