CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TSiStripRecHit1D.cc
Go to the documentation of this file.
5 
6 
9 {
10  if (theCPE != 0) {
11 
13 
14  if(!specificHit()->cluster().isNull()){
15  const SiStripCluster& clust = *specificHit()->cluster();
17  theCPE->localParameters( clust, *detUnit(), ts);
18  LocalError le(lv.second.xx(),0.,DBL_MAX); //Correct??
19 
20  return TSiStripRecHit1D::build( lv.first, le, det(),
21  specificHit()->cluster(), theCPE, weight(), getAnnealingFactor());
22  }else{
23  const SiStripCluster& clust = *specificHit()->cluster_regional();
25  theCPE->localParameters( clust, *detUnit(), ts);
26  LocalError le(lv.second.xx(),0.,DBL_MAX); //Correct??
27  return TSiStripRecHit1D::build( lv.first, le, det(),
28  specificHit()->cluster_regional(), theCPE, weight(), getAnnealingFactor());
29  }
30 
31  }
32  else {
33  //FIXME. It should report the problem with a LogWarning;
34  return clone();
35  }
36 }
37 
39 {
40  return static_cast<const GeomDetUnit*>(det());
41 }
const SiStripRecHit1D * specificHit() const
std::pair< LocalPoint, LocalError > LocalValues
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
const StripClusterParameterEstimator * theCPE
ClusterRegionalRef const & cluster_regional() const
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
ClusterRef const & cluster() const
virtual const GeomDetUnit * detUnit() const
virtual TSiStripRecHit1D * clone() const