CMS 3D CMS Logo

Static Public Member Functions | Static Private Member Functions | Static Private Attributes

TrackerBounds Class Reference

#include <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 ()

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()().

{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().

{if (!theInit) initialize();}
static float TrackerBounds::halfLength ( ) [inline, static]
void TrackerBounds::initialize ( ) [static, private]

Definition at line 12 of file TrackerBounds.cc.

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

Referenced by check().

{
  const float epsilon = 0.001; // should not matter at all

  Surface::RotationType rot; // unit rotation matrix

  theCylinder = new BoundCylinder( Surface::PositionType(0,0,0), rot, 
                                   SimpleCylinderBounds( radius()-epsilon, 
                                                         radius()+epsilon, 
                                                         -halfLength(), 
                                                         halfLength()));
  theNegativeDisk = 
    new BoundDisk( Surface::PositionType( 0, 0, -halfLength()), rot, 
                   SimpleDiskBounds( 0, radius(), -epsilon, epsilon));

  thePositiveDisk = 
    new BoundDisk( Surface::PositionType( 0, 0, halfLength()), rot, 
                   SimpleDiskBounds( 0, radius(), -epsilon, epsilon));


  theInit = true;
}
bool TrackerBounds::isInside ( const GlobalPoint point) [static]
static const BoundDisk& TrackerBounds::negativeEndcapDisk ( ) [inline, static]

Definition at line 30 of file TrackerBounds.h.

References check(), and theNegativeDisk.

Referenced by StateOnTrackerBound::operator()().

{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()().

{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(), and isInside().

{return 112.f;}

Member Data Documentation

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().

Definition at line 42 of file TrackerBounds.h.

Referenced by initialize(), and negativeEndcapDisk().

Definition at line 43 of file TrackerBounds.h.

Referenced by initialize(), and positiveEndcapDisk().