CMS 3D CMS Logo

Classes | Public Member Functions | Private Attributes

DTSegmentExtendedCand Class Reference

#include <DTSegmentExtendedCand.h>

Inheritance diagram for DTSegmentExtendedCand:
DTSegmentCand

List of all members.

Classes

struct  DTSLRecClusterForFit

Public Member Functions

void addClus (const DTSegmentExtendedCand::DTSLRecClusterForFit &clus)
std::vector
< DTSegmentExtendedCand::DTSLRecClusterForFit
clusters () const
 DTSegmentExtendedCand (DTSegmentCand *cand)
virtual bool good () const
bool isCompatible (const DTSegmentExtendedCand::DTSLRecClusterForFit &clus)
virtual unsigned int nHits () const
virtual ~DTSegmentExtendedCand ()

Private Attributes

std::vector< DTSLRecClusterForFittheClus

Detailed Description

Description:

detailed description

Author:
: Stefano Lacaprara - INFN LNL <stefano.lacaprara@pd.infn.it> $date : 15/05/2008 15:33:52 CEST $

Modification:

Definition at line 30 of file DTSegmentExtendedCand.h.


Constructor & Destructor Documentation

DTSegmentExtendedCand::DTSegmentExtendedCand ( DTSegmentCand cand) [inline]

Definition at line 36 of file DTSegmentExtendedCand.h.

                                               : DTSegmentCand(*cand),
                                                  theClus(std::vector<DTSLRecClusterForFit>()) {
                                                  }
virtual DTSegmentExtendedCand::~DTSegmentExtendedCand ( ) [inline, virtual]

Definition at line 41 of file DTSegmentExtendedCand.h.

{}

Member Function Documentation

void DTSegmentExtendedCand::addClus ( const DTSegmentExtendedCand::DTSLRecClusterForFit clus) [inline]

Definition at line 44 of file DTSegmentExtendedCand.h.

References theClus.

Referenced by DTCombinatorialExtendedPatternReco::extendCandidates().

                                                                        {
      theClus.push_back(clus);
    }
std::vector<DTSegmentExtendedCand::DTSLRecClusterForFit> DTSegmentExtendedCand::clusters ( ) const [inline]

Definition at line 48 of file DTSegmentExtendedCand.h.

References theClus.

                                                                          {
      return theClus;
    }
bool DTSegmentExtendedCand::good ( ) const [virtual]

Reimplemented from DTSegmentCand.

Definition at line 44 of file DTSegmentExtendedCand.cc.

References DTSegmentCand::nHits().

Referenced by DTCombinatorialExtendedPatternReco::buildSegments().

                                       {
  if (superLayer()->id().superLayer()==2) 
     return DTSegmentCand::nHits()>=nHitsMin && chi2()/NDOF() < chi2max*2.;
  return DTSegmentCand::nHits()>=nHitsMin && chi2()/NDOF() < chi2max ;
}
bool DTSegmentExtendedCand::isCompatible ( const DTSegmentExtendedCand::DTSLRecClusterForFit clus)

Definition at line 30 of file DTSegmentExtendedCand.cc.

References funct::cos(), DTSegmentExtendedCand::DTSLRecClusterForFit::err, max(), DTSegmentExtendedCand::DTSLRecClusterForFit::pos, position, mathSSE::sqrt(), LocalError::xx(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by DTCombinatorialExtendedPatternReco::extendCandidates().

                                                                                              {
  LocalPoint posAtSL =
    position()+direction()*(clus.pos.z()-position().z())/cos(direction().theta());
  // cout << "pos :" << clus.pos << " posAtSL " << posAtSL << endl;
  static float errScaleFact=10.;
  static float minError=25.; // (cm)
  // cout << "clus.err.xx() " << clus.err << endl;
  return fabs((posAtSL-clus.pos).x())<max(errScaleFact*sqrt(clus.err.xx()), minError);
}
unsigned int DTSegmentExtendedCand::nHits ( void  ) const [virtual]

Reimplemented from DTSegmentCand.

Definition at line 40 of file DTSegmentExtendedCand.cc.

References DTSegmentCand::nHits().

Referenced by DTCombinatorialExtendedPatternReco::extendCandidates().

                                                {
  return DTSegmentCand::nHits()+theClus.size();
}

Member Data Documentation

Definition at line 72 of file DTSegmentExtendedCand.h.

Referenced by addClus(), and clusters().