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 CylinderbarrelBound ()
static float halfLength ()
static bool isInside (const GlobalPoint &)
static const Disk & negativeEndcapDisk ()
static const Disk & positiveEndcapDisk ()
static float radius ()

Static Private Member Functions

static void check ()
static void initialize ()

Static Private Attributes

static
ReferenceCountingPointer
< Cylinder
theCylinder = 0
static bool theInit = false
static
ReferenceCountingPointer< Disk > 
theNegativeDisk = 0
static
ReferenceCountingPointer< Disk > 
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:
2012/12/25 14:24:26
Revision:
1.5

Definition at line 26 of file TrackerBounds.h.


Member Function Documentation

static const Cylinder& 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]

Definition at line 36 of file TrackerBounds.h.

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

{return 273.5f;}
void TrackerBounds::initialize ( ) [static, private]

Definition at line 12 of file TrackerBounds.cc.

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

Referenced by check().

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

  Surface::RotationType rot; // unit rotation matrix
  auto cb = new SimpleCylinderBounds( radius()-epsilon, 
                                      radius()+epsilon, 
                                      -halfLength(),  halfLength()
                                     );

 theCylinder = new Cylinder(Cylinder::computeRadius(*cb), Surface::PositionType(0,0,0), rot, cb);


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

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


  theInit = true;
}
bool TrackerBounds::isInside ( const GlobalPoint point) [static]
static const Disk& 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 Disk& 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 ( void  ) [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().