CMS 3D CMS Logo

SiStripGaussianSmearingRecHitConverterAlgorithm Class Reference

#include <FastSimulation/TrackingRecHitProducer/interface/SiStripGaussianSmearingRecHitConverterAlgorithm.h>

List of all members.

Public Member Functions

const LocalErrorgetError () const
double getErrorX () const
double getErrorY () const
double getErrorZ () const
const Local3DPointgetPosition () 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 RandomEnginerandom
LocalError theError
double theErrorX
double theErrorY
double theErrorZ
Local3DPoint thePosition
double thePositionX
double thePositionY
double thePositionZ


Detailed Description

Definition at line 24 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.


Constructor & Destructor Documentation

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]

Definition at line 29 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.

00029 {;}


Member Function Documentation

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 }


Member Data Documentation

const RandomEngine* SiStripGaussianSmearingRecHitConverterAlgorithm::random [private]

Definition at line 62 of file SiStripGaussianSmearingRecHitConverterAlgorithm.h.

Referenced by smearHit().

LocalError SiStripGaussianSmearingRecHitConverterAlgorithm::theError [private]

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

Local3DPoint SiStripGaussianSmearingRecHitConverterAlgorithm::thePosition [private]

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


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:32:24 2009 for CMSSW by  doxygen 1.5.4