CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackerBounds.cc
Go to the documentation of this file.
2 
7 
8 //Ported from ORCA
9 
11 {
12  const float epsilon = 0.001; // should not matter at all
13 
14  Surface::RotationType rot; // unit rotation matrix
15  auto cb = new SimpleCylinderBounds( radius()-epsilon,
16  radius()+epsilon,
18  );
19 
20  theCylinder = new Cylinder(Cylinder::computeRadius(*cb), Surface::PositionType(0,0,0), rot, cb);
21 
22 
24  new Disk( Surface::PositionType( 0, 0, -halfLength()), rot,
25  new SimpleDiskBounds( 0, radius(), -epsilon, epsilon));
26 
28  new Disk( Surface::PositionType( 0, 0, halfLength()), rot,
29  new SimpleDiskBounds( 0, radius(), -epsilon, epsilon));
30 
31 
32  theInit = true;
33 }
34 
36  return (point.perp() <= radius() &&
37  fabs(point.z()) <= halfLength());
38 }
39 
40 
41 // static initializers
42 
46 
47 bool TrackerBounds::theInit = false;
48 
49 
static ReferenceCountingPointer< Disk > theNegativeDisk
Definition: TrackerBounds.h:40
static bool isInside(const GlobalPoint &)
T perp() const
Definition: PV3DBase.h:72
static ReferenceCountingPointer< Disk > thePositiveDisk
Definition: TrackerBounds.h:41
static float halfLength()
Definition: TrackerBounds.h:34
static void initialize()
static ReferenceCountingPointer< Cylinder > theCylinder
Definition: TrackerBounds.h:39
T z() const
Definition: PV3DBase.h:64
static bool theInit
Definition: TrackerBounds.h:42
static float radius()
Definition: TrackerBounds.h:33
const double epsilon
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5