#include <FastSimulation/TrackingRecHitProducer/interface/SiStripGaussianSmearingRecHitConverterAlgorithm.h>
Public Member Functions | |
const LocalError & | getError () const |
double | getErrorX () const |
double | getErrorY () const |
double | getErrorZ () const |
const Local3DPoint & | getPosition () const |
double | getPositionX () const |
double | getPositionY () const |
double | getPositionZ () const |
SiStripGaussianSmearingRecHitConverterAlgorithm (const RandomEngine *engine) | |
SiStripGaussianSmearingRecHitConverterAlgorithm.cc -------------------------------------------------------------- Description: see SiStripGaussianSmearingRecHitConverterAlgorithm.h Authors: R. | |
void | smearHit (const PSimHit &simHit, double localPositionResolutionX, double localPositionResolutionY, double localPositionResolutionZ, double boundX, double boundY) |
virtual | ~SiStripGaussianSmearingRecHitConverterAlgorithm () |
Private Attributes | |
const RandomEngine * | random |
LocalError | theError |
double | theErrorX |
double | theErrorY |
double | theErrorZ |
Local3DPoint | thePosition |
double | thePositionX |
double | thePositionY |
double | thePositionZ |
Definition at line 24 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
SiStripGaussianSmearingRecHitConverterAlgorithm::SiStripGaussianSmearingRecHitConverterAlgorithm | ( | const RandomEngine * | engine | ) | [explicit] |
SiStripGaussianSmearingRecHitConverterAlgorithm.cc -------------------------------------------------------------- Description: see SiStripGaussianSmearingRecHitConverterAlgorithm.h Authors: R.
Ranieri (CERN), M. Galanti History: Sep 27, 2006 - initial version --------------------------------------------------------------
Definition at line 21 of file SiStripGaussianSmearingRecHitConverterAlgorithm.cc.
00021 : random(engine) {}
virtual SiStripGaussianSmearingRecHitConverterAlgorithm::~SiStripGaussianSmearingRecHitConverterAlgorithm | ( | ) | [inline, virtual] |
const LocalError& SiStripGaussianSmearingRecHitConverterAlgorithm::getError | ( | ) | const [inline] |
Definition at line 36 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
References theError.
Referenced by SiTrackerGaussianSmearingRecHitConverter::gaussianSmearing().
00036 {return theError;}
double SiStripGaussianSmearingRecHitConverterAlgorithm::getErrorX | ( | ) | const [inline] |
Definition at line 37 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
References theErrorX.
00037 {return theErrorX;}
double SiStripGaussianSmearingRecHitConverterAlgorithm::getErrorY | ( | ) | const [inline] |
Definition at line 38 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
References theErrorY.
00038 {return theErrorY;}
double SiStripGaussianSmearingRecHitConverterAlgorithm::getErrorZ | ( | ) | const [inline] |
Definition at line 39 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
References theErrorZ.
00039 {return theErrorZ;}
const Local3DPoint& SiStripGaussianSmearingRecHitConverterAlgorithm::getPosition | ( | ) | const [inline] |
Definition at line 32 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
References thePosition.
Referenced by SiTrackerGaussianSmearingRecHitConverter::gaussianSmearing().
00032 {return thePosition;}
double SiStripGaussianSmearingRecHitConverterAlgorithm::getPositionX | ( | ) | const [inline] |
Definition at line 33 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
References thePositionX.
00033 {return thePositionX;}
double SiStripGaussianSmearingRecHitConverterAlgorithm::getPositionY | ( | ) | const [inline] |
Definition at line 34 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
References thePositionY.
00034 {return thePositionY;}
double SiStripGaussianSmearingRecHitConverterAlgorithm::getPositionZ | ( | ) | const [inline] |
Definition at line 35 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
References thePositionZ.
00035 {return thePositionZ;}
void SiStripGaussianSmearingRecHitConverterAlgorithm::smearHit | ( | const PSimHit & | simHit, | |
double | localPositionResolutionX, | |||
double | localPositionResolutionY, | |||
double | localPositionResolutionZ, | |||
double | boundX, | |||
double | boundY | |||
) |
Definition at line 25 of file SiStripGaussianSmearingRecHitConverterAlgorithm.cc.
References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), RandomEngine::gaussShoot(), PSimHit::localPosition(), random, theError, theErrorX, theErrorY, theErrorZ, thePosition, thePositionX, thePositionY, thePositionZ, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by SiTrackerGaussianSmearingRecHitConverter::gaussianSmearing().
00031 { 00032 00033 // Gaussian Smearing 00034 // x is smeared, 00035 // y fixed at the centre of the strip, 00036 // z fixed at the centre of the active area 00037 // For the double-sided modules it will be a problem 00038 // for the RecHit matcher (starting from these PSimHits) 00039 // 00040 do { 00041 thePosition = 00042 Local3DPoint(random->gaussShoot((double)simHit.localPosition().x(), localPositionResolutionX), 00043 (double)simHit.localPosition().y(), 00044 0.); 00045 #ifdef FAMOS_DEBUG 00046 std::cout << " Detector bounds: " 00047 << "\t\tx = " << boundX 00048 << "\ty = " << boundY 00049 << std::endl; 00050 std::cout << " Generated local position " 00051 << "\tx = " << thePosition.x() 00052 << "\ty = " << thePosition.y() 00053 << std::endl; 00054 #endif 00055 } while(fabs(thePosition.x()) > boundX); 00056 00057 // 00058 thePositionX = thePosition.x(); 00059 thePositionY = thePosition.y(); 00060 thePositionZ = thePosition.z(); 00061 // 00062 theErrorX = localPositionResolutionX; 00063 theErrorY = localPositionResolutionY; 00064 theErrorZ = localPositionResolutionZ; 00065 00066 theError = LocalError( theErrorX * theErrorX, 00067 0.0, 00068 theErrorY * theErrorY ); 00069 // Local Error is 2D: (xx,xy,yy), square of sigma 00070 // in first an third position as for resolution matrix 00071 // 00072 }
const RandomEngine* SiStripGaussianSmearingRecHitConverterAlgorithm::random [private] |
Definition at line 62 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
Referenced by smearHit().
Definition at line 55 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
Referenced by getError(), and smearHit().
double SiStripGaussianSmearingRecHitConverterAlgorithm::theErrorX [private] |
Definition at line 56 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
Referenced by getErrorX(), and smearHit().
double SiStripGaussianSmearingRecHitConverterAlgorithm::theErrorY [private] |
Definition at line 57 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
Referenced by getErrorY(), and smearHit().
double SiStripGaussianSmearingRecHitConverterAlgorithm::theErrorZ [private] |
Definition at line 58 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
Referenced by getErrorZ(), and smearHit().
Definition at line 51 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
Referenced by getPosition(), and smearHit().
double SiStripGaussianSmearingRecHitConverterAlgorithm::thePositionX [private] |
Definition at line 52 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
Referenced by getPositionX(), and smearHit().
double SiStripGaussianSmearingRecHitConverterAlgorithm::thePositionY [private] |
Definition at line 53 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
Referenced by getPositionY(), and smearHit().
double SiStripGaussianSmearingRecHitConverterAlgorithm::thePositionZ [private] |
Definition at line 54 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.
Referenced by getPositionZ(), and smearHit().