CMS 3D CMS Logo

TrackerBounds Class Reference

A definition of the envelope that contains the tracker sensitive detectors. More...

#include <TrackingTools/GeomPropagators/interface/TrackerBounds.h>

List of all members.

Static Public Member Functions

static const BoundCylinderbarrelBound ()
static float halfLength ()
static bool isInside (const GlobalPoint &)
static const BoundDisknegativeEndcapDisk ()
static const BoundDiskpositiveEndcapDisk ()
static float radius ()
 Hard-wired numbers defining the envelope of the sensitive volumes.

Static Private Member Functions

static void check ()
static void initialize ()

Static Private Attributes

static
ReferenceCountingPointer
< BoundCylinder
theCylinder = 0
static bool theInit = false
static
ReferenceCountingPointer
< BoundDisk
theNegativeDisk = 0
static
ReferenceCountingPointer
< BoundDisk
thePositiveDisk = 0


Detailed Description

A definition of the envelope that contains the tracker sensitive detectors.

The information is not automatically computed from the Tracker geometry, but is hard-coded in this class. However, there is very little freedom to modify the tracker size (ECAL constraint...), so a fast access to this information is very useful. The recommended use is: Inside the TrackerBounds tracker propagators are expected to work accurately. Outside of this volume use some kind of geane.

Ported from ORCA

Date
2007/03/07 16:28:40
Revision
1.4

Definition at line 26 of file TrackerBounds.h.


Member Function Documentation

static const BoundCylinder& TrackerBounds::barrelBound (  )  [inline, static]

Definition at line 29 of file TrackerBounds.h.

References check(), and theCylinder.

Referenced by StateOnTrackerBound::operator()().

00029 {check(); return *theCylinder;}

static void TrackerBounds::check ( void   )  [inline, static, private]

Definition at line 46 of file TrackerBounds.h.

References initialize(), and theInit.

Referenced by barrelBound(), negativeEndcapDisk(), and positiveEndcapDisk().

00046 {if (!theInit) initialize();}

static float TrackerBounds::halfLength (  )  [inline, static]

Definition at line 36 of file TrackerBounds.h.

Referenced by initialize(), SmartPropagator::initTkVolume(), SmartPropagator::insideTkVol(), isInside(), and StateOnTrackerBound::operator()().

00036 {return 273.5f;}

void TrackerBounds::initialize ( void   )  [static, private]

Definition at line 12 of file TrackerBounds.cc.

References geometryDiff::epsilon, halfLength(), radius(), rot, theCylinder, theInit, theNegativeDisk, and thePositiveDisk.

Referenced by check().

00013 {
00014   const float epsilon = 0.001; // should not matter at all
00015 
00016   Surface::RotationType rot; // unit rotation matrix
00017 
00018   theCylinder = new BoundCylinder( Surface::PositionType(0,0,0), rot, 
00019                                    SimpleCylinderBounds( radius()-epsilon, 
00020                                                          radius()+epsilon, 
00021                                                          -halfLength(), 
00022                                                          halfLength()));
00023   theNegativeDisk = 
00024     new BoundDisk( Surface::PositionType( 0, 0, -halfLength()), rot, 
00025                    SimpleDiskBounds( 0, radius(), -epsilon, epsilon));
00026 
00027   thePositiveDisk = 
00028     new BoundDisk( Surface::PositionType( 0, 0, halfLength()), rot, 
00029                    SimpleDiskBounds( 0, radius(), -epsilon, epsilon));
00030 
00031 
00032   theInit = true;
00033 }

bool TrackerBounds::isInside ( const GlobalPoint point  )  [static]

Definition at line 35 of file TrackerBounds.cc.

References halfLength(), PV3DBase< T, PVType, FrameType >::perp(), radius(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by MuonSeedTrack::buildTrackAtPCA(), MuonTrackLoader::buildTrackAtPCA(), MuonUpdatorAtVertex::propagate(), and MuonUpdatorAtVertex::propagateToNominalLine().

00035                                                     {
00036   return (point.perp() <= radius() &&
00037           fabs(point.z()) <= halfLength());
00038 }

static const BoundDisk& TrackerBounds::negativeEndcapDisk (  )  [inline, static]

Definition at line 30 of file TrackerBounds.h.

References check(), and theNegativeDisk.

Referenced by StateOnTrackerBound::operator()().

00030 {check(); return *theNegativeDisk;}

static const BoundDisk& TrackerBounds::positiveEndcapDisk (  )  [inline, static]

Definition at line 31 of file TrackerBounds.h.

References check(), and thePositiveDisk.

Referenced by StateOnTrackerBound::operator()().

00031 {check(); return *thePositiveDisk;}

static float TrackerBounds::radius (  )  [inline, static]

Hard-wired numbers defining the envelope of the sensitive volumes.

Definition at line 35 of file TrackerBounds.h.

Referenced by initialize(), SmartPropagator::initTkVolume(), SmartPropagator::insideTkVol(), isInside(), and StateOnTrackerBound::operator()().

00035 {return 112.f;}


Member Data Documentation

ReferenceCountingPointer< BoundCylinder > TrackerBounds::theCylinder = 0 [static, private]

Definition at line 41 of file TrackerBounds.h.

Referenced by barrelBound(), and initialize().

bool TrackerBounds::theInit = false [static, private]

Definition at line 44 of file TrackerBounds.h.

Referenced by check(), and initialize().

ReferenceCountingPointer< BoundDisk > TrackerBounds::theNegativeDisk = 0 [static, private]

Definition at line 42 of file TrackerBounds.h.

Referenced by initialize(), and negativeEndcapDisk().

ReferenceCountingPointer< BoundDisk > TrackerBounds::thePositiveDisk = 0 [static, private]

Definition at line 43 of file TrackerBounds.h.

Referenced by initialize(), and positiveEndcapDisk().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:34:04 2009 for CMSSW by  doxygen 1.5.4