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 // $Date: 2012/12/25 14:24:26 $
10 // $Revision: 1.4 $
11 
13 {
14  const float epsilon = 0.001; // should not matter at all
15 
16  Surface::RotationType rot; // unit rotation matrix
17  auto cb = new SimpleCylinderBounds( radius()-epsilon,
18  radius()+epsilon,
20  );
21 
22  theCylinder = new Cylinder(Cylinder::computeRadius(*cb), Surface::PositionType(0,0,0), rot, cb);
23 
24 
26  new Disk( Surface::PositionType( 0, 0, -halfLength()), rot,
27  new SimpleDiskBounds( 0, radius(), -epsilon, epsilon));
28 
30  new Disk( Surface::PositionType( 0, 0, halfLength()), rot,
31  new SimpleDiskBounds( 0, radius(), -epsilon, epsilon));
32 
33 
34  theInit = true;
35 }
36 
38  return (point.perp() <= radius() &&
39  fabs(point.z()) <= halfLength());
40 }
41 
42 
43 // static initializers
44 
48 
49 bool TrackerBounds::theInit = false;
50 
51 
static ReferenceCountingPointer< Disk > theNegativeDisk
Definition: TrackerBounds.h:42
static bool isInside(const GlobalPoint &)
T perp() const
Definition: PV3DBase.h:72
static ReferenceCountingPointer< Disk > thePositiveDisk
Definition: TrackerBounds.h:43
static float halfLength()
Definition: TrackerBounds.h:36
static void initialize()
static ReferenceCountingPointer< Cylinder > theCylinder
Definition: TrackerBounds.h:41
T z() const
Definition: PV3DBase.h:64
static bool theInit
Definition: TrackerBounds.h:44
static float radius()
Definition: TrackerBounds.h:35
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