#include <FastSimulation/TrackerSetup/interface/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 |
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, and theDiskOuterRadius.
00022 : 00023 theSurface(theSurface), 00024 isForward(isForward), 00025 theLayerNumber(theLayerNumber), 00026 theDimensionMinValues(theMinDim), 00027 theDimensionMaxValues(theMaxDim), 00028 theFudgeFactors(theFudge), 00029 theNumberOfFudgeFactors(theFudgeFactors.size()) 00030 { 00031 isSensitive = (theLayerNumber<100); 00032 if ( isForward ) { 00033 theDisk = dynamic_cast<BoundDisk*>(theSurface); 00034 theDiskInnerRadius = theDisk->innerRadius(); 00035 theDiskOuterRadius = theDisk->outerRadius(); 00036 theCylinder = 0; 00037 } else { 00038 theCylinder = dynamic_cast<BoundCylinder*>(theSurface); 00039 theDisk = 0; 00040 theDiskInnerRadius = 0.; 00041 theDiskOuterRadius = 0.; 00042 } 00043 00044 }
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, and theDiskOuterRadius.
00050 : 00051 theSurface(theSurface), 00052 theLayerNumber(theLayerNumber), 00053 theDimensionMinValues(theMinDim), 00054 theDimensionMaxValues(theMaxDim), 00055 theFudgeFactors(theFudge), 00056 theNumberOfFudgeFactors(theFudgeFactors.size()) 00057 { 00058 isSensitive = true; 00059 isForward = true; 00060 theDisk = dynamic_cast<BoundDisk*>(theSurface); 00061 theDiskInnerRadius = theDisk->innerRadius(); 00062 theDiskOuterRadius = theDisk->outerRadius(); 00063 theCylinder = 0; 00064 }
BoundCylinder* TrackerLayer::cylinder | ( | ) | const [inline] |
Returns the cylinder.
Definition at line 76 of file TrackerLayer.h.
References theCylinder.
Referenced by ParticlePropagator::setPropagationConditions().
00076 { 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().
00079 { 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().
00085 { 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().
00088 { 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().
00070 { 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().
00108 { 00109 return (iFudge < theNumberOfFudgeFactors) ? theFudgeFactors[iFudge] : 0.; 00110 }
double TrackerLayer::fudgeMax | ( | unsigned | iFudge | ) | const [inline] |
Definition at line 105 of file TrackerLayer.h.
References theDimensionMaxValues, and theNumberOfFudgeFactors.
Referenced by MaterialEffects::radLengths().
00105 { 00106 return (iFudge < theNumberOfFudgeFactors) ? theDimensionMaxValues[iFudge] : -999.; 00107 }
double TrackerLayer::fudgeMin | ( | unsigned | iFudge | ) | const [inline] |
Definition at line 102 of file TrackerLayer.h.
References theDimensionMinValues, and theNumberOfFudgeFactors.
Referenced by MaterialEffects::radLengths().
00102 { 00103 return (iFudge < theNumberOfFudgeFactors) ? theDimensionMinValues[iFudge] : 999.; 00104 }
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().
00101 { return theNumberOfFudgeFactors; }
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().
00082 { return theLayerNumber; }
bool TrackerLayer::sensitive | ( | ) | const [inline] |
Is the layer sensitive ?
Definition at line 67 of file TrackerLayer.h.
References isSensitive.
00067 { 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().
00073 { return *theSurface; }
bool TrackerLayer::isForward [private] |
bool TrackerLayer::isSensitive [private] |
BoundCylinder* TrackerLayer::theCylinder [private] |
std::vector<double> TrackerLayer::theDimensionMaxValues [private] |
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] |
double TrackerLayer::theDiskInnerRadius [private] |
double TrackerLayer::theDiskOuterRadius [private] |
std::vector<double> TrackerLayer::theFudgeFactors [private] |
unsigned int TrackerLayer::theLayerNumber [private] |
unsigned int TrackerLayer::theNumberOfFudgeFactors [private] |
Definition at line 127 of file TrackerLayer.h.
Referenced by fudgeFactor(), fudgeMax(), fudgeMin(), and fudgeNumber().
BoundSurface* TrackerLayer::theSurface [private] |