CMS 3D CMS Logo

Public Member Functions | Private Attributes

SimpleTECWedge Class Reference

#include <SimpleTECWedge.h>

Inheritance diagram for SimpleTECWedge:
TECWedge GeometricSearchDetWithGroups GeometricSearchDet

List of all members.

Public Member Functions

virtual const std::vector
< const GeomDet * > & 
basicComponents () const
virtual std::pair< bool,
TrajectoryStateOnSurface
compatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const
virtual const std::vector
< const GeometricSearchDet * > & 
components () const
 Returns basic components, if any.
virtual void groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const
 SimpleTECWedge (const GeomDet *theDet)
 ~SimpleTECWedge ()

Private Attributes

const GeomDettheDet
std::vector< const GeomDet * > theDets

Detailed Description

A concrete implementation for TEC wedge built out of only one det

Definition at line 13 of file SimpleTECWedge.h.


Constructor & Destructor Documentation

SimpleTECWedge::SimpleTECWedge ( const GeomDet theDet)

Definition at line 14 of file SimpleTECWedge.cc.

References LogDebug, PV3DBase< T, PVType, FrameType >::perp(), GeometricSearchDet::position(), theDet, theDets, TECWedge::theDiskSector, and PV3DBase< T, PVType, FrameType >::z().

                                                        :
  theDet(theInputDet)
{
  theDets.push_back(theDet);

  theDiskSector = ForwardDiskSectorBuilderFromDet()( theDets );
  
  LogDebug("TkDetLayers") << "DEBUG INFO for CompositeTECWedge" << "\n"
                          << "TECWedge z, perp,innerRadius,outerR: " 
                          << this->position().z() << " , "
                          << this->position().perp() << " , "
                          << theDiskSector->innerRadius() << " , "
                          << theDiskSector->outerRadius() ;

}
SimpleTECWedge::~SimpleTECWedge ( )

Definition at line 30 of file SimpleTECWedge.cc.

                               {

} 

Member Function Documentation

virtual const std::vector<const GeomDet*>& SimpleTECWedge::basicComponents ( ) const [inline, virtual]

Implements GeometricSearchDet.

Definition at line 20 of file SimpleTECWedge.h.

References theDets.

{return theDets;}
pair< bool, TrajectoryStateOnSurface > SimpleTECWedge::compatible ( const TrajectoryStateOnSurface ts,
const Propagator ,
const MeasurementEstimator  
) const [virtual]

tests the geometrical compatibility of the Det with the predicted state. The FreeTrajectoryState argument is propagated to the Det surface using the Propagator argument. The resulting TrajectoryStateOnSurface is tested for compatibility with the surface bounds. If compatible, a std::pair< true, propagatedState> is returned. If the propagation fails, or if the state is not compatible, a std::pair< false, propagatedState> is returned.

Implements GeometricSearchDet.

Definition at line 42 of file SimpleTECWedge.cc.

References GeomDetCompatibilityChecker::isCompatible(), and theDet.

Referenced by groupedCompatibleDetsV().

{
  return GeomDetCompatibilityChecker::isCompatible( theDet,tsos, prop, est);
}
const vector< const GeometricSearchDet * > & SimpleTECWedge::components ( ) const [virtual]

Returns basic components, if any.

Returns direct components, if any

Implements GeometricSearchDet.

Definition at line 36 of file SimpleTECWedge.cc.

                                {
  throw DetLayerException("SimpleTECWedge doesn't have GeometricSearchDet components");
}
void SimpleTECWedge::groupedCompatibleDetsV ( const TrajectoryStateOnSurface startingState,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const [virtual]

Reimplemented from GeometricSearchDet.

Definition at line 52 of file SimpleTECWedge.cc.

References compatible(), and theDet.

                                                                              {
  pair<bool, TrajectoryStateOnSurface> compat = this->compatible(tsos,prop,est);

  if (compat.first) {
    result.push_back( DetGroup(0,1) ); 
    DetGroupElement ge( theDet, compat.second);
    result.front().push_back(ge);
  }

}

Member Data Documentation

const GeomDet* SimpleTECWedge::theDet [private]

Definition at line 35 of file SimpleTECWedge.h.

Referenced by compatible(), groupedCompatibleDetsV(), and SimpleTECWedge().

std::vector<const GeomDet*> SimpleTECWedge::theDets [private]

Definition at line 36 of file SimpleTECWedge.h.

Referenced by basicComponents(), and SimpleTECWedge().