CMS 3D CMS Logo

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 17 of file TrackerLayer.h.

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

22  :
23  theSurface(theSurface),
26  theDimensionMinValues(theMinDim),
27  theDimensionMaxValues(theMaxDim),
28  theFudgeFactors(theFudge),
30  {
32  if ( isForward ) {
33  theDisk = dynamic_cast<BoundDisk*>(theSurface);
34  theDiskInnerRadius = theDisk->innerRadius();
35  theDiskOuterRadius = theDisk->outerRadius();
36  theCylinder = nullptr;
37  } else {
38  theCylinder = dynamic_cast<BoundCylinder*>(theSurface);
39  theDisk = nullptr;
40  theDiskInnerRadius = 0.;
41  theDiskOuterRadius = 0.;
42  }
43 
44  }
std::vector< double > theDimensionMinValues
These are fudges factors to account for the inhomogeneities of the material.
Definition: TrackerLayer.h:124
double theDiskInnerRadius
Definition: TrackerLayer.h:120
unsigned int theLayerNumber
Definition: TrackerLayer.h:118
double theDiskOuterRadius
Definition: TrackerLayer.h:121
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:127
BoundDisk * theDisk
Definition: TrackerLayer.h:115
BoundSurface * theSurface
Definition: TrackerLayer.h:114
BoundCylinder * theCylinder
Definition: TrackerLayer.h:116
std::vector< double > theFudgeFactors
Definition: TrackerLayer.h:126
std::vector< double > theDimensionMaxValues
Definition: TrackerLayer.h:125
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 46 of file TrackerLayer.h.

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

50  :
51  theSurface(theSurface),
53  theDimensionMinValues(theMinDim),
54  theDimensionMaxValues(theMaxDim),
55  theFudgeFactors(theFudge),
57  {
58  isSensitive = true;
59  isForward = true;
60  theDisk = dynamic_cast<BoundDisk*>(theSurface);
61  theDiskInnerRadius = theDisk->innerRadius();
62  theDiskOuterRadius = theDisk->outerRadius();
63  theCylinder = nullptr;
64  }
std::vector< double > theDimensionMinValues
These are fudges factors to account for the inhomogeneities of the material.
Definition: TrackerLayer.h:124
double theDiskInnerRadius
Definition: TrackerLayer.h:120
unsigned int theLayerNumber
Definition: TrackerLayer.h:118
double theDiskOuterRadius
Definition: TrackerLayer.h:121
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:127
BoundDisk * theDisk
Definition: TrackerLayer.h:115
BoundSurface * theSurface
Definition: TrackerLayer.h:114
BoundCylinder * theCylinder
Definition: TrackerLayer.h:116
std::vector< double > theFudgeFactors
Definition: TrackerLayer.h:126
std::vector< double > theDimensionMaxValues
Definition: TrackerLayer.h:125

Member Function Documentation

BoundCylinder const* TrackerLayer::cylinder ( ) const
inline

Returns the cylinder.

Definition at line 76 of file TrackerLayer.h.

References theCylinder.

Referenced by ParticlePropagator::setPropagationConditions().

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

Returns the surface.

Definition at line 79 of file TrackerLayer.h.

References theDisk.

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

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

Returns the inner radius of a disk.

Definition at line 85 of file TrackerLayer.h.

References theDiskInnerRadius.

Referenced by ParticlePropagator::propagateToBoundSurface().

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

Returns the outer radius of a disk.

Definition at line 88 of file TrackerLayer.h.

References theDiskOuterRadius.

Referenced by ParticlePropagator::setPropagationConditions().

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

Definition at line 108 of file TrackerLayer.h.

References theFudgeFactors, and theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

108  {
109  return (iFudge < theNumberOfFudgeFactors) ? theFudgeFactors[iFudge] : 0.;
110  }
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:127
std::vector< double > theFudgeFactors
Definition: TrackerLayer.h:126
double TrackerLayer::fudgeMax ( unsigned  iFudge) const
inline

Definition at line 105 of file TrackerLayer.h.

References theDimensionMaxValues, and theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

105  {
106  return (iFudge < theNumberOfFudgeFactors) ? theDimensionMaxValues[iFudge] : -999.;
107  }
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:127
std::vector< double > theDimensionMaxValues
Definition: TrackerLayer.h:125
double TrackerLayer::fudgeMin ( unsigned  iFudge) const
inline

Definition at line 102 of file TrackerLayer.h.

References theDimensionMinValues, and theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

102  {
103  return (iFudge < theNumberOfFudgeFactors) ? theDimensionMinValues[iFudge] : 999.;
104  }
std::vector< double > theDimensionMinValues
These are fudges factors to account for the inhomogeneities of the material.
Definition: TrackerLayer.h:124
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:127
unsigned int TrackerLayer::fudgeNumber ( ) const
inline

Set a fudge factor for material inhomogeneities in this layer.

Get the fudge factors back

Definition at line 101 of file TrackerLayer.h.

References theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

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

Returns the layer number.

Definition at line 82 of file TrackerLayer.h.

References theLayerNumber.

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

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

Is the layer sensitive ?

Definition at line 67 of file TrackerLayer.h.

References isSensitive.

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

Returns the surface.

Definition at line 73 of file TrackerLayer.h.

References theSurface.

Referenced by MaterialEffects::radLengths().

73 { return *theSurface; }
BoundSurface * theSurface
Definition: TrackerLayer.h:114

Member Data Documentation

bool TrackerLayer::isForward
private

Definition at line 117 of file TrackerLayer.h.

Referenced by forward(), and TrackerLayer().

bool TrackerLayer::isSensitive
private

Definition at line 119 of file TrackerLayer.h.

Referenced by sensitive(), and TrackerLayer().

BoundCylinder* TrackerLayer::theCylinder
private

Definition at line 116 of file TrackerLayer.h.

Referenced by cylinder(), and TrackerLayer().

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

Definition at line 125 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 124 of file TrackerLayer.h.

Referenced by fudgeMin().

BoundDisk* TrackerLayer::theDisk
private

Definition at line 115 of file TrackerLayer.h.

Referenced by disk(), and TrackerLayer().

double TrackerLayer::theDiskInnerRadius
private

Definition at line 120 of file TrackerLayer.h.

Referenced by diskInnerRadius(), and TrackerLayer().

double TrackerLayer::theDiskOuterRadius
private

Definition at line 121 of file TrackerLayer.h.

Referenced by diskOuterRadius(), and TrackerLayer().

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

Definition at line 126 of file TrackerLayer.h.

Referenced by fudgeFactor().

unsigned int TrackerLayer::theLayerNumber
private

Definition at line 118 of file TrackerLayer.h.

Referenced by layerNumber().

unsigned int TrackerLayer::theNumberOfFudgeFactors
private

Definition at line 127 of file TrackerLayer.h.

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

BoundSurface* TrackerLayer::theSurface
private

Definition at line 114 of file TrackerLayer.h.

Referenced by surface(), and TrackerLayer().