CMS 3D CMS Logo

TrackerLayer Class Reference

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

#include <FastSimulation/TrackerSetup/interface/TrackerLayer.h>

List of all members.

Public Member Functions

BoundCylindercylinder () const
 Returns the cylinder.
BoundDiskdisk () 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 BoundSurfacesurface () 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
BoundCylindertheCylinder
std::vector< double > theDimensionMaxValues
std::vector< double > theDimensionMinValues
 These are fudges factors to account for the inhomogeneities of the material.
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,
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    }


Member Function Documentation

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; }


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


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:34:09 2009 for CMSSW by  doxygen 1.5.4