CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
TrackerLayer Class Reference

#include <TrackerLayer.h>

Public Member Functions

BoundCylinder const * cylinder () const
 Returns the cylinder. More...
 
BoundDisk const * disk () const
 Returns the surface. More...
 
double diskInnerRadius () const
 Returns the inner radius of a disk. More...
 
double diskOuterRadius () const
 Returns the outer radius of a disk. More...
 
bool forward () const
 Is the layer forward ? More...
 
double fudgeFactor (unsigned iFudge) const
 
double fudgeMax (unsigned iFudge) const
 
double fudgeMin (unsigned iFudge) const
 
unsigned int fudgeNumber () const
 Set a fudge factor for material inhomogeneities in this layer. More...
 
unsigned int layerNumber () const
 Returns the layer number. More...
 
bool sensitive () const
 Is the layer sensitive ? More...
 
const BoundSurfacesurface () const
 Returns the surface. More...
 
 TrackerLayer (BoundSurface *theSurface, bool isForward, unsigned int theLayerNumber, const std::vector< double > &theMinDim, const std::vector< double > &theMaxDim, const std::vector< double > &theFudge)
 constructor from private members More...
 
 TrackerLayer (BoundSurface *theSurface, unsigned int theLayerNumber, const std::vector< double > &theMinDim, const std::vector< double > &theMaxDim, const std::vector< double > &theFudge)
 

Private Attributes

bool isForward
 
bool isSensitive
 
BoundCylindertheCylinder
 
std::vector< double > theDimensionMaxValues
 
std::vector< double > theDimensionMinValues
 These are fudges factors to account for the inhomogeneities of the material. More...
 
BoundDisktheDisk
 
double theDiskInnerRadius
 
double theDiskOuterRadius
 
std::vector< double > theFudgeFactors
 
unsigned int theLayerNumber
 
unsigned int theNumberOfFudgeFactors
 
BoundSurfacetheSurface
 

Detailed Description

A class that gives some properties of the Tracker Layers in FAMOS

Definition at line 13 of file TrackerLayer.h.

Constructor & Destructor Documentation

TrackerLayer::TrackerLayer ( BoundSurface theSurface,
bool  isForward,
unsigned int  theLayerNumber,
const std::vector< double > &  theMinDim,
const std::vector< double > &  theMaxDim,
const std::vector< double > &  theFudge 
)
inline

constructor from private members

Definition at line 16 of file TrackerLayer.h.

References isSensitive, theCylinder, theDisk, theDiskInnerRadius, theDiskOuterRadius, and theSurface.

22  : theSurface(theSurface),
25  theDimensionMinValues(theMinDim),
26  theDimensionMaxValues(theMaxDim),
27  theFudgeFactors(theFudge),
29  isSensitive = (theLayerNumber < 100);
30  if (isForward) {
31  theDisk = dynamic_cast<BoundDisk*>(theSurface);
32  theDiskInnerRadius = theDisk->innerRadius();
33  theDiskOuterRadius = theDisk->outerRadius();
34  theCylinder = nullptr;
35  } else {
36  theCylinder = dynamic_cast<BoundCylinder*>(theSurface);
37  theDisk = nullptr;
38  theDiskInnerRadius = 0.;
39  theDiskOuterRadius = 0.;
40  }
41  }
std::vector< double > theDimensionMinValues
These are fudges factors to account for the inhomogeneities of the material.
Definition: TrackerLayer.h:119
double theDiskInnerRadius
Definition: TrackerLayer.h:115
unsigned int theLayerNumber
Definition: TrackerLayer.h:113
double theDiskOuterRadius
Definition: TrackerLayer.h:116
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:122
BoundDisk * theDisk
Definition: TrackerLayer.h:110
BoundSurface * theSurface
Definition: TrackerLayer.h:109
BoundCylinder * theCylinder
Definition: TrackerLayer.h:111
std::vector< double > theFudgeFactors
Definition: TrackerLayer.h:121
std::vector< double > theDimensionMaxValues
Definition: TrackerLayer.h:120
TrackerLayer::TrackerLayer ( BoundSurface theSurface,
unsigned int  theLayerNumber,
const std::vector< double > &  theMinDim,
const std::vector< double > &  theMaxDim,
const std::vector< double > &  theFudge 
)
inline

Definition at line 43 of file TrackerLayer.h.

References isForward, isSensitive, theCylinder, theDisk, theDiskInnerRadius, theDiskOuterRadius, and theSurface.

48  : theSurface(theSurface),
50  theDimensionMinValues(theMinDim),
51  theDimensionMaxValues(theMaxDim),
52  theFudgeFactors(theFudge),
54  isSensitive = true;
55  isForward = true;
56  theDisk = dynamic_cast<BoundDisk*>(theSurface);
57  theDiskInnerRadius = theDisk->innerRadius();
58  theDiskOuterRadius = theDisk->outerRadius();
59  theCylinder = nullptr;
60  }
std::vector< double > theDimensionMinValues
These are fudges factors to account for the inhomogeneities of the material.
Definition: TrackerLayer.h:119
double theDiskInnerRadius
Definition: TrackerLayer.h:115
unsigned int theLayerNumber
Definition: TrackerLayer.h:113
double theDiskOuterRadius
Definition: TrackerLayer.h:116
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:122
BoundDisk * theDisk
Definition: TrackerLayer.h:110
BoundSurface * theSurface
Definition: TrackerLayer.h:109
BoundCylinder * theCylinder
Definition: TrackerLayer.h:111
std::vector< double > theFudgeFactors
Definition: TrackerLayer.h:121
std::vector< double > theDimensionMaxValues
Definition: TrackerLayer.h:120

Member Function Documentation

BoundCylinder const* TrackerLayer::cylinder ( ) const
inline

Returns the cylinder.

Definition at line 72 of file TrackerLayer.h.

References theCylinder.

Referenced by ParticlePropagator::setPropagationConditions().

72 { return theCylinder; }
BoundCylinder * theCylinder
Definition: TrackerLayer.h:111
BoundDisk const* TrackerLayer::disk ( ) const
inline

Returns the surface.

Definition at line 75 of file TrackerLayer.h.

References theDisk.

Referenced by MaterialEffects::normalVector(), ParticlePropagator::propagateToBoundSurface(), and ParticlePropagator::setPropagationConditions().

75 { return theDisk; }
BoundDisk * theDisk
Definition: TrackerLayer.h:110
double TrackerLayer::diskInnerRadius ( ) const
inline

Returns the inner radius of a disk.

Definition at line 81 of file TrackerLayer.h.

References theDiskInnerRadius.

Referenced by ParticlePropagator::propagateToBoundSurface().

81 { return theDiskInnerRadius; }
double theDiskInnerRadius
Definition: TrackerLayer.h:115
double TrackerLayer::diskOuterRadius ( ) const
inline

Returns the outer radius of a disk.

Definition at line 84 of file TrackerLayer.h.

References theDiskOuterRadius.

Referenced by ParticlePropagator::setPropagationConditions().

84 { return theDiskOuterRadius; }
double theDiskOuterRadius
Definition: TrackerLayer.h:116
bool TrackerLayer::forward ( ) const
inline
double TrackerLayer::fudgeFactor ( unsigned  iFudge) const
inline

Definition at line 104 of file TrackerLayer.h.

References theFudgeFactors, and theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

104  {
105  return (iFudge < theNumberOfFudgeFactors) ? theFudgeFactors[iFudge] : 0.;
106  }
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:122
std::vector< double > theFudgeFactors
Definition: TrackerLayer.h:121
double TrackerLayer::fudgeMax ( unsigned  iFudge) const
inline

Definition at line 101 of file TrackerLayer.h.

References theDimensionMaxValues, and theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

101  {
102  return (iFudge < theNumberOfFudgeFactors) ? theDimensionMaxValues[iFudge] : -999.;
103  }
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:122
std::vector< double > theDimensionMaxValues
Definition: TrackerLayer.h:120
double TrackerLayer::fudgeMin ( unsigned  iFudge) const
inline

Definition at line 98 of file TrackerLayer.h.

References theDimensionMinValues, and theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

98  {
99  return (iFudge < theNumberOfFudgeFactors) ? theDimensionMinValues[iFudge] : 999.;
100  }
std::vector< double > theDimensionMinValues
These are fudges factors to account for the inhomogeneities of the material.
Definition: TrackerLayer.h:119
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:122
unsigned int TrackerLayer::fudgeNumber ( ) const
inline

Set a fudge factor for material inhomogeneities in this layer.

Get the fudge factors back

Definition at line 97 of file TrackerLayer.h.

References theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

97 { return theNumberOfFudgeFactors; }
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:122
unsigned int TrackerLayer::layerNumber ( ) const
inline

Returns the layer number.

Definition at line 78 of file TrackerLayer.h.

References theLayerNumber.

Referenced by ConvBremSeedProducer::detLayer(), TrajectoryManager::detLayer(), MaterialEffects::interact(), and MagneticFieldMap::inTeslaZ().

78 { return theLayerNumber; }
unsigned int theLayerNumber
Definition: TrackerLayer.h:113
bool TrackerLayer::sensitive ( ) const
inline

Is the layer sensitive ?

Definition at line 63 of file TrackerLayer.h.

References isSensitive.

63 { return isSensitive; }
const BoundSurface& TrackerLayer::surface ( ) const
inline

Returns the surface.

Definition at line 69 of file TrackerLayer.h.

References theSurface.

Referenced by MaterialEffects::radLengths().

69 { return *theSurface; }
BoundSurface * theSurface
Definition: TrackerLayer.h:109

Member Data Documentation

bool TrackerLayer::isForward
private

Definition at line 112 of file TrackerLayer.h.

Referenced by forward(), and TrackerLayer().

bool TrackerLayer::isSensitive
private

Definition at line 114 of file TrackerLayer.h.

Referenced by sensitive(), and TrackerLayer().

BoundCylinder* TrackerLayer::theCylinder
private

Definition at line 111 of file TrackerLayer.h.

Referenced by cylinder(), and TrackerLayer().

std::vector<double> TrackerLayer::theDimensionMaxValues
private

Definition at line 120 of file TrackerLayer.h.

Referenced by fudgeMax().

std::vector<double> TrackerLayer::theDimensionMinValues
private

These are fudges factors to account for the inhomogeneities of the material.

Definition at line 119 of file TrackerLayer.h.

Referenced by fudgeMin().

BoundDisk* TrackerLayer::theDisk
private

Definition at line 110 of file TrackerLayer.h.

Referenced by disk(), and TrackerLayer().

double TrackerLayer::theDiskInnerRadius
private

Definition at line 115 of file TrackerLayer.h.

Referenced by diskInnerRadius(), and TrackerLayer().

double TrackerLayer::theDiskOuterRadius
private

Definition at line 116 of file TrackerLayer.h.

Referenced by diskOuterRadius(), and TrackerLayer().

std::vector<double> TrackerLayer::theFudgeFactors
private

Definition at line 121 of file TrackerLayer.h.

Referenced by fudgeFactor().

unsigned int TrackerLayer::theLayerNumber
private

Definition at line 113 of file TrackerLayer.h.

Referenced by layerNumber().

unsigned int TrackerLayer::theNumberOfFudgeFactors
private

Definition at line 122 of file TrackerLayer.h.

Referenced by fudgeFactor(), fudgeMax(), fudgeMin(), and fudgeNumber().

BoundSurface* TrackerLayer::theSurface
private

Definition at line 109 of file TrackerLayer.h.

Referenced by surface(), and TrackerLayer().