#include <TrackerLayer.h>
Public Member Functions | |
BoundCylinder * | cylinder () const |
Returns the cylinder. | |
BoundDisk * | disk () const |
Returns the surface. | |
double | diskInnerRadius () const |
Returns the inner radius of a disk. | |
double | diskOuterRadius () const |
Returns the outer radius of a disk. | |
bool | forward () const |
Is the layer forward ? | |
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. | |
unsigned int | layerNumber () const |
Returns the layer number. | |
bool | sensitive () const |
Is the layer sensitive ? | |
const BoundSurface & | surface () const |
Returns the surface. | |
TrackerLayer (BoundSurface *theSurface, unsigned int theLayerNumber, std::vector< double > theMinDim, std::vector< double > theMaxDim, std::vector< double > theFudge) | |
TrackerLayer (BoundSurface *theSurface, bool isForward, unsigned int theLayerNumber, std::vector< double > theMinDim, std::vector< double > theMaxDim, std::vector< double > theFudge) | |
constructor from private members | |
Private Attributes | |
bool | isForward |
bool | isSensitive |
BoundCylinder * | theCylinder |
std::vector< double > | theDimensionMaxValues |
std::vector< double > | theDimensionMinValues |
These are fudges factors to account for the inhomogeneities of the material. | |
BoundDisk * | theDisk |
double | theDiskInnerRadius |
double | theDiskOuterRadius |
std::vector< double > | theFudgeFactors |
unsigned int | theLayerNumber |
unsigned int | theNumberOfFudgeFactors |
BoundSurface * | theSurface |
A class that gives some properties of the Tracker Layers in FAMOS
Definition at line 13 of file TrackerLayer.h.
TrackerLayer::TrackerLayer | ( | BoundSurface * | theSurface, |
bool | isForward, | ||
unsigned int | theLayerNumber, | ||
std::vector< double > | theMinDim, | ||
std::vector< double > | theMaxDim, | ||
std::vector< double > | theFudge | ||
) | [inline] |
constructor from private members
Definition at line 17 of file TrackerLayer.h.
References BoundDisk::innerRadius(), isSensitive, BoundDisk::outerRadius(), theCylinder, theDisk, theDiskInnerRadius, theDiskOuterRadius, and theSurface.
: theSurface(theSurface), isForward(isForward), theLayerNumber(theLayerNumber), theDimensionMinValues(theMinDim), theDimensionMaxValues(theMaxDim), theFudgeFactors(theFudge), theNumberOfFudgeFactors(theFudgeFactors.size()) { isSensitive = (theLayerNumber<100); if ( isForward ) { theDisk = dynamic_cast<BoundDisk*>(theSurface); theDiskInnerRadius = theDisk->innerRadius(); theDiskOuterRadius = theDisk->outerRadius(); theCylinder = 0; } else { theCylinder = dynamic_cast<BoundCylinder*>(theSurface); theDisk = 0; theDiskInnerRadius = 0.; theDiskOuterRadius = 0.; } }
TrackerLayer::TrackerLayer | ( | BoundSurface * | theSurface, |
unsigned int | theLayerNumber, | ||
std::vector< double > | theMinDim, | ||
std::vector< double > | theMaxDim, | ||
std::vector< double > | theFudge | ||
) | [inline] |
Definition at line 46 of file TrackerLayer.h.
References BoundDisk::innerRadius(), isForward, isSensitive, BoundDisk::outerRadius(), theCylinder, theDisk, theDiskInnerRadius, theDiskOuterRadius, and theSurface.
: theSurface(theSurface), theLayerNumber(theLayerNumber), theDimensionMinValues(theMinDim), theDimensionMaxValues(theMaxDim), theFudgeFactors(theFudge), theNumberOfFudgeFactors(theFudgeFactors.size()) { isSensitive = true; isForward = true; theDisk = dynamic_cast<BoundDisk*>(theSurface); theDiskInnerRadius = theDisk->innerRadius(); theDiskOuterRadius = theDisk->outerRadius(); theCylinder = 0; }
BoundCylinder* TrackerLayer::cylinder | ( | ) | const [inline] |
Returns the cylinder.
Definition at line 76 of file TrackerLayer.h.
References theCylinder.
Referenced by ParticlePropagator::setPropagationConditions().
{ return theCylinder; }
BoundDisk* 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().
{ return theDisk; }
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().
{ return theDiskInnerRadius; }
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().
{ return theDiskOuterRadius; }
bool TrackerLayer::forward | ( | ) | const [inline] |
Is the layer forward ?
Definition at line 70 of file TrackerLayer.h.
References isForward.
Referenced by ConvBremSeedProducer::detLayer(), TrajectoryManager::detLayer(), MaterialEffects::normalVector(), MaterialEffects::radLengths(), and ParticlePropagator::setPropagationConditions().
{ return isForward; }
double TrackerLayer::fudgeFactor | ( | unsigned | iFudge | ) | const [inline] |
Definition at line 108 of file TrackerLayer.h.
References theFudgeFactors, and theNumberOfFudgeFactors.
Referenced by MaterialEffects::radLengths().
{ return (iFudge < theNumberOfFudgeFactors) ? theFudgeFactors[iFudge] : 0.; }
double TrackerLayer::fudgeMax | ( | unsigned | iFudge | ) | const [inline] |
Definition at line 105 of file TrackerLayer.h.
References theDimensionMaxValues, and theNumberOfFudgeFactors.
Referenced by MaterialEffects::radLengths().
{ return (iFudge < theNumberOfFudgeFactors) ? theDimensionMaxValues[iFudge] : -999.; }
double TrackerLayer::fudgeMin | ( | unsigned | iFudge | ) | const [inline] |
Definition at line 102 of file TrackerLayer.h.
References theDimensionMinValues, and theNumberOfFudgeFactors.
Referenced by MaterialEffects::radLengths().
{ return (iFudge < theNumberOfFudgeFactors) ? theDimensionMinValues[iFudge] : 999.; }
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().
{ return theNumberOfFudgeFactors; }
unsigned int TrackerLayer::layerNumber | ( | ) | const [inline] |
Returns the layer number.
Definition at line 82 of file TrackerLayer.h.
References theLayerNumber.
Referenced by TrajectoryManager::detLayer(), ConvBremSeedProducer::detLayer(), MaterialEffects::interact(), and MagneticFieldMap::inTeslaZ().
{ return theLayerNumber; }
bool TrackerLayer::sensitive | ( | ) | const [inline] |
Is the layer sensitive ?
Definition at line 67 of file TrackerLayer.h.
References isSensitive.
{ 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().
{ return *theSurface; }
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().