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() [1/2]

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.

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  }

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

◆ TrackerLayer() [2/2]

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.

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  }

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

Member Function Documentation

◆ cylinder()

BoundCylinder const* TrackerLayer::cylinder ( ) const
inline

Returns the cylinder.

Definition at line 72 of file TrackerLayer.h.

72 { return theCylinder; }

References theCylinder.

Referenced by ParticlePropagator::setPropagationConditions().

◆ disk()

BoundDisk const* TrackerLayer::disk ( ) const
inline

Returns the surface.

Definition at line 75 of file TrackerLayer.h.

75 { return theDisk; }

References theDisk.

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

◆ diskInnerRadius()

double TrackerLayer::diskInnerRadius ( ) const
inline

Returns the inner radius of a disk.

Definition at line 81 of file TrackerLayer.h.

81 { return theDiskInnerRadius; }

References theDiskInnerRadius.

Referenced by ParticlePropagator::propagateToBoundSurface().

◆ diskOuterRadius()

double TrackerLayer::diskOuterRadius ( ) const
inline

Returns the outer radius of a disk.

Definition at line 84 of file TrackerLayer.h.

84 { return theDiskOuterRadius; }

References theDiskOuterRadius.

Referenced by ParticlePropagator::setPropagationConditions().

◆ forward()

bool TrackerLayer::forward ( ) const
inline

◆ fudgeFactor()

double TrackerLayer::fudgeFactor ( unsigned  iFudge) const
inline

Definition at line 104 of file TrackerLayer.h.

104  {
105  return (iFudge < theNumberOfFudgeFactors) ? theFudgeFactors[iFudge] : 0.;
106  }

References theFudgeFactors, and theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

◆ fudgeMax()

double TrackerLayer::fudgeMax ( unsigned  iFudge) const
inline

Definition at line 101 of file TrackerLayer.h.

101  {
102  return (iFudge < theNumberOfFudgeFactors) ? theDimensionMaxValues[iFudge] : -999.;
103  }

References theDimensionMaxValues, and theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

◆ fudgeMin()

double TrackerLayer::fudgeMin ( unsigned  iFudge) const
inline

Definition at line 98 of file TrackerLayer.h.

98  {
99  return (iFudge < theNumberOfFudgeFactors) ? theDimensionMinValues[iFudge] : 999.;
100  }

References theDimensionMinValues, and theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

◆ fudgeNumber()

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.

97 { return theNumberOfFudgeFactors; }

References theNumberOfFudgeFactors.

Referenced by MaterialEffects::radLengths().

◆ layerNumber()

unsigned int TrackerLayer::layerNumber ( ) const
inline

Returns the layer number.

Definition at line 78 of file TrackerLayer.h.

78 { return theLayerNumber; }

References theLayerNumber.

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

◆ sensitive()

bool TrackerLayer::sensitive ( ) const
inline

Is the layer sensitive ?

Definition at line 63 of file TrackerLayer.h.

63 { return isSensitive; }

References isSensitive.

◆ surface()

const BoundSurface& TrackerLayer::surface ( ) const
inline

Returns the surface.

Definition at line 69 of file TrackerLayer.h.

69 { return *theSurface; }

References theSurface.

Referenced by MaterialEffects::radLengths().

Member Data Documentation

◆ isForward

bool TrackerLayer::isForward
private

Definition at line 112 of file TrackerLayer.h.

Referenced by forward(), and TrackerLayer().

◆ isSensitive

bool TrackerLayer::isSensitive
private

Definition at line 114 of file TrackerLayer.h.

Referenced by sensitive(), and TrackerLayer().

◆ theCylinder

BoundCylinder* TrackerLayer::theCylinder
private

Definition at line 111 of file TrackerLayer.h.

Referenced by cylinder(), and TrackerLayer().

◆ theDimensionMaxValues

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

Definition at line 120 of file TrackerLayer.h.

Referenced by fudgeMax().

◆ theDimensionMinValues

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().

◆ theDisk

BoundDisk* TrackerLayer::theDisk
private

Definition at line 110 of file TrackerLayer.h.

Referenced by disk(), and TrackerLayer().

◆ theDiskInnerRadius

double TrackerLayer::theDiskInnerRadius
private

Definition at line 115 of file TrackerLayer.h.

Referenced by diskInnerRadius(), and TrackerLayer().

◆ theDiskOuterRadius

double TrackerLayer::theDiskOuterRadius
private

Definition at line 116 of file TrackerLayer.h.

Referenced by diskOuterRadius(), and TrackerLayer().

◆ theFudgeFactors

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

Definition at line 121 of file TrackerLayer.h.

Referenced by fudgeFactor().

◆ theLayerNumber

unsigned int TrackerLayer::theLayerNumber
private

Definition at line 113 of file TrackerLayer.h.

Referenced by layerNumber(), and TrackerLayer().

◆ theNumberOfFudgeFactors

unsigned int TrackerLayer::theNumberOfFudgeFactors
private

Definition at line 122 of file TrackerLayer.h.

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

◆ theSurface

BoundSurface* TrackerLayer::theSurface
private

Definition at line 109 of file TrackerLayer.h.

Referenced by surface(), and TrackerLayer().

TrackerLayer::theLayerNumber
unsigned int theLayerNumber
Definition: TrackerLayer.h:113
TrackerLayer::theFudgeFactors
std::vector< double > theFudgeFactors
Definition: TrackerLayer.h:121
TrackerLayer::theSurface
BoundSurface * theSurface
Definition: TrackerLayer.h:109
TrackerLayer::theDiskInnerRadius
double theDiskInnerRadius
Definition: TrackerLayer.h:115
TrackerLayer::theDiskOuterRadius
double theDiskOuterRadius
Definition: TrackerLayer.h:116
TrackerLayer::theDimensionMinValues
std::vector< double > theDimensionMinValues
These are fudges factors to account for the inhomogeneities of the material.
Definition: TrackerLayer.h:119
TrackerLayer::isForward
bool isForward
Definition: TrackerLayer.h:112
TrackerLayer::theCylinder
BoundCylinder * theCylinder
Definition: TrackerLayer.h:111
TrackerLayer::theNumberOfFudgeFactors
unsigned int theNumberOfFudgeFactors
Definition: TrackerLayer.h:122
TrackerLayer::isSensitive
bool isSensitive
Definition: TrackerLayer.h:114
TrackerLayer::theDisk
BoundDisk * theDisk
Definition: TrackerLayer.h:110
TrackerLayer::theDimensionMaxValues
std::vector< double > theDimensionMaxValues
Definition: TrackerLayer.h:120