EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbmRichHitProducer Class Reference

Class for producing RICH hits directly from MCPoints. More...

#include <EicRoot/blob/master/rich/CbmRichHitProducer.h>

+ Inheritance diagram for CbmRichHitProducer:
+ Collaboration diagram for CbmRichHitProducer:

Public Member Functions

 CbmRichHitProducer ()
 Default constructor.
 
virtual ~CbmRichHitProducer ()
 Destructor.
 
virtual void SetParContainers ()
 Inherited from FairTask.
 
virtual InitStatus Init ()
 Inherited from FairTask.
 
virtual void Exec (Option_t *option)
 Inherited from FairTask.
 
virtual void Finish ()
 Inherited from FairTask.
 
void SetDetectorType (Int_t detType)
 Set detector type (choose: 1=Protvino, 2=CsI, 3=Hamamatsu, 4=Hamamatsu H8500-03)
 
void SetNofNoiseHits (Int_t noise)
 Set number of noise hits to be added.
 
void SetCollectionEfficiency (Double_t collEff)
 Set collection efficiency for photoelectrons in PMT optics.
 
void SetSigmaMirror (Double_t sigMirror)
 Set additional smearing of MC Points due to light scattering in mirror.
 
void SetCrossTalkHitProb (Double_t crosstalk)
 Set crosstalk hit probability.
 
void AddCrossTalkHits (Double_t x, Double_t y, Int_t pointInd, Int_t RichDetID)
 Add cross talk hits.
 
void AddHit (TVector3 &posHit, TVector3 &posHitErr, Int_t address, Int_t pmtID, Double_t ampl, Int_t index)
 Adds a RichHit to the HitCollection.
 
void FindRichHitPositionSinglePMT (Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID)
 Finds hit position in PMT plane.
 
void FindRichHitPositionMAPMT (Double_t sigma, Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID)
 Finds hit position in MAMPT plane.
 
void FindRichHitPositionCsI (Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID)
 Finds hit position in MAMPT plane.
 
Double_t OnePhotonAmplitude (Double_t x)
 Spectrum of the PMT response to one photo-electron.
 
Double_t GetAmplitude ()
 Generate randomly PMT amplitude according to probability density provided by OnePhotonAmplitude(x).
 
void SetPhotoDetPar (Int_t det_type, Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[])
 Set parameters of the photodetector.
 
- Public Member Functions inherited from FairTask
 FairTask ()
 
 FairTask (const char *name, Int_t iVerbose=1)
 
virtual ~FairTask ()
 
void InitTask ()
 
void ReInitTask ()
 
void SetParTask ()
 
virtual void FinishTask ()
 
virtual void FinishEvent ()
 
void SetVerbose (Int_t iVerbose)
 
void SetInputPersistance (Bool_t val)
 
void CheckInputPersistance (TString branchName)
 

Static Public Member Functions

static void TiltPoint (TVector3 *inPos, TVector3 *outPos, Double_t phi, Double_t theta, Double_t detZOrig, Bool_t noTilting=false)
 

Private Member Functions

 CbmRichHitProducer (const CbmRichHitProducer &)
 Copy constructor.
 
CbmRichHitProduceroperator= (const CbmRichHitProducer &)
 Assignment operator.
 

Private Attributes

TClonesArray * fRichPoints
 
TClonesArray * fRichHits
 
Int_t fNHits
 
Int_t fNDoubleHits
 
Double_t fNRefrac
 
Int_t fDetection
 
Int_t fNEvents
 
Double_t fDetX
 
Double_t fDetY
 
Double_t fDetZ
 
Double_t fDetZ_org
 
Double_t fDetWidthX
 
Double_t fDetWidthY
 
TObjArray * fSensNodes
 
TObjArray * fPassNodes
 
CbmGeoRichParfPar
 
Double_t fPhotomulRadius
 
Double_t fPhotomulDist
 
Int_t fDetType
 
Int_t fNofNoiseHits
 
Double_t fCollectionEfficiency
 
Double_t fSigmaMirror
 
Double_t fTheta
 
Double_t fPhi
 
Double_t fCrossTalkHitProb
 
Int_t fNofCrossTalkHits
 

Static Private Attributes

static constexpr Double_t c = 2.998E8
 
static constexpr Double_t h = 6.626E-34
 
static constexpr Double_t e = 1.6022E-19
 

Additional Inherited Members

- Protected Member Functions inherited from FairTask
virtual InitStatus ReInit ()
 
void InitTasks ()
 
void ReInitTasks ()
 
void SetParTasks ()
 
void FinishTasks ()
 
void FinishEvents ()
 
- Protected Attributes inherited from FairTask
Int_t fVerbose
 
Int_t fInputPersistance
 Indicates if input branch is persistant.
 
FairLoggerfLogger
 

Detailed Description

Class for producing RICH hits directly from MCPoints.

Author
B. Polichtchouk
Date
2004

Definition at line 27 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 27 of file CbmRichHitProducer.h

Constructor & Destructor Documentation

CbmRichHitProducer::CbmRichHitProducer ( )

Default constructor.

Definition at line 35 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 35 of file CbmRichHitProducer.cxx

CbmRichHitProducer::~CbmRichHitProducer ( )
virtual

Destructor.

Definition at line 74 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 74 of file CbmRichHitProducer.cxx

References FairRootManager::Instance(), and FairRootManager::Write().

+ Here is the call graph for this function:

CbmRichHitProducer::CbmRichHitProducer ( const CbmRichHitProducer )
private

Copy constructor.

Member Function Documentation

void CbmRichHitProducer::AddCrossTalkHits ( Double_t  x,
Double_t  y,
Int_t  pointInd,
Int_t  RichDetID 
)

Add cross talk hits.

Parameters
[in]xX position of the central hit.
[in]yY position of the central hit.
[in]pointIndIndex of the Rich Point of the central hit.
[in]RichDetIDID of the RICH detector.

Definition at line 501 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 501 of file CbmRichHitProducer.cxx

References AddHit(), fCrossTalkHitProb, fDetType, fDetZ, FindRichHitPositionMAPMT(), fNofCrossTalkHits, fPhotomulRadius, GetAmplitude(), and rand.

Referenced by Exec().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CbmRichHitProducer::AddHit ( TVector3 &  posHit,
TVector3 &  posHitErr,
Int_t  address,
Int_t  pmtID,
Double_t  ampl,
Int_t  index 
)

Adds a RichHit to the HitCollection.

Parameters
posHitHit position.
posHitErrHit errors.
addressDetector ID.
pmtIDPMT ID.
amplHit amplitude.
indexIndex.

Definition at line 462 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 462 of file CbmRichHitProducer.cxx

References fNDoubleHits, fNHits, fRichHits, CbmBaseHit::GetAddress(), GetAmplitude(), CbmRichHit::GetNPhotons(), CbmRichHit::GetPmtId(), CbmBaseHit::SetAddress(), CbmRichHit::SetAmplitude(), CbmRichHit::SetNPhotons(), CbmRichHit::SetPmtId(), CbmPixelHit::SetPosition(), CbmPixelHit::SetPositionError(), and CbmBaseHit::SetRefId().

Referenced by AddCrossTalkHits(), and Exec().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CbmRichHitProducer::Exec ( Option_t *  option)
virtual
void CbmRichHitProducer::FindRichHitPositionCsI ( Double_t  xPoint,
Double_t  yPoint,
Double_t &  xHit,
Double_t &  yHit,
Int_t &  pmtID 
)

Finds hit position in MAMPT plane.

Parameters
xPoint
yPoint
xHit
yHit
pmtID

Definition at line 982 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 982 of file CbmRichHitProducer.cxx

References fDetWidthX, fDetWidthY, fDetY, fPhotomulDist, fPhotomulRadius, and fSigmaMirror.

Referenced by Exec().

+ Here is the caller graph for this function:

void CbmRichHitProducer::FindRichHitPositionMAPMT ( Double_t  sigma,
Double_t  xPoint,
Double_t  yPoint,
Double_t &  xHit,
Double_t &  yHit,
Int_t &  pmtID 
)

Finds hit position in MAMPT plane.

Parameters
sigma
xPoint
yPoint
xHit
yHit
pmtID

Definition at line 906 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 906 of file CbmRichHitProducer.cxx

References fDetWidthX, fDetWidthY, fDetY, fPhotomulDist, fPhotomulRadius, fSigmaMirror, FairTask::fVerbose, and G4BARRELHCAL::length.

Referenced by AddCrossTalkHits(), and Exec().

+ Here is the caller graph for this function:

void CbmRichHitProducer::FindRichHitPositionSinglePMT ( Double_t  xPoint,
Double_t  yPoint,
Double_t &  xHit,
Double_t &  yHit,
Int_t &  pmtID 
)

Finds hit position in PMT plane.

Parameters
xPoint
yPoint
xHit
yHit
pmtID

Definition at line 851 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 851 of file CbmRichHitProducer.cxx

References starlightConstants::alpha, fDetWidthX, fDetWidthY, fDetY, fPhotomulDist, fPhotomulRadius, and fSigmaMirror.

Referenced by Exec().

+ Here is the caller graph for this function:

void CbmRichHitProducer::Finish ( void  )
virtual

Inherited from FairTask.

Reimplemented from FairTask.

Definition at line 561 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 561 of file CbmRichHitProducer.cxx

References fRichHits.

Double_t CbmRichHitProducer::GetAmplitude ( )

Generate randomly PMT amplitude according to probability density provided by OnePhotonAmplitude(x).

Definition at line 1055 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 1055 of file CbmRichHitProducer.cxx

References OnePhotonAmplitude().

Referenced by AddCrossTalkHits(), AddHit(), and Exec().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Double_t CbmRichHitProducer::OnePhotonAmplitude ( Double_t  x)

Spectrum of the PMT response to one photo-electron.

Definition at line 1045 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 1045 of file CbmRichHitProducer.cxx

References kn.

Referenced by GetAmplitude().

+ Here is the caller graph for this function:

CbmRichHitProducer& CbmRichHitProducer::operator= ( const CbmRichHitProducer )
private

Assignment operator.

void CbmRichHitProducer::SetCollectionEfficiency ( Double_t  collEff)
inline

Set collection efficiency for photoelectrons in PMT optics.

Definition at line 74 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 74 of file CbmRichHitProducer.h

References fCollectionEfficiency.

void CbmRichHitProducer::SetCrossTalkHitProb ( Double_t  crosstalk)
inline

Set crosstalk hit probability.

Definition at line 84 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 84 of file CbmRichHitProducer.h

References fCrossTalkHitProb.

void CbmRichHitProducer::SetDetectorType ( Int_t  detType)
inline

Set detector type (choose: 1=Protvino, 2=CsI, 3=Hamamatsu, 4=Hamamatsu H8500-03)

Definition at line 64 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 64 of file CbmRichHitProducer.h

References fDetType.

void CbmRichHitProducer::SetNofNoiseHits ( Int_t  noise)
inline

Set number of noise hits to be added.

Definition at line 69 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 69 of file CbmRichHitProducer.h

References fNofNoiseHits.

void CbmRichHitProducer::SetParContainers ( )
virtual

Inherited from FairTask.

Reimplemented from FairTask.

Definition at line 80 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 80 of file CbmRichHitProducer.cxx

References fPar, FairRuntimeDb::getContainer(), FairRun::GetRuntimeDb(), and FairRunAna::Instance().

+ Here is the call graph for this function:

void CbmRichHitProducer::SetPhotoDetPar ( Int_t  det_type,
Double_t &  lambda_min,
Double_t &  lambda_max,
Double_t &  lambda_step,
Double_t  efficiency[] 
)

Set parameters of the photodetector.

Parameters
[in]det_typeType of the photodetector.
[out]lambda_minMinimum lambda for quantum efficiency table.
[out]lambda_maxMaximum lambda for quantum efficiency table.
[out]lambda_stepStep of the lambda for quantum efficiency table.
[out]efficiency[]Quantum efficiencies.

Measured PMT efficiencies for MAPMTs at posF (BUW measurement) ##### CernOct2011 ##### (Flat type Multianode Photomultiplier with BA cathode + UV window) corresponding range in lambda: 160nm - 700nm in steps of 10nm

Definition at line 566 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 566 of file CbmRichHitProducer.cxx

References fDetType, and FairTask::fVerbose.

Referenced by Exec().

+ Here is the caller graph for this function:

void CbmRichHitProducer::SetSigmaMirror ( Double_t  sigMirror)
inline

Set additional smearing of MC Points due to light scattering in mirror.

Definition at line 79 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 79 of file CbmRichHitProducer.h

References fSigmaMirror.

void CbmRichHitProducer::TiltPoint ( TVector3 *  inPos,
TVector3 *  outPos,
Double_t  phi,
Double_t  theta,
Double_t  detZOrig,
Bool_t  noTilting = false 
)
static

Tilt points by -theta, -phi for x>0, y>0 theta, -phi for x>0, y<0 theta, phi for x<0, y<0 -theta, phi for x<0, y>0 and shift x position in order to avoid overlap.

Parameters
[in]inPospoints position to be tilted.
[out]outPospoint position after tilting.
[in]phiAngle by which photodetector was tilted around y-axis
[in]thetaAngle by which photodetector was tilted around x-axis.
[in]detZOrigX-coordinate of photodetector (original from parameter file).
[in]noTiltingIf you do not want to make tilting, needed for convenience.

Definition at line 424 of file CbmRichHitProducer.cxx.

View newest version in sPHENIX GitHub at line 424 of file CbmRichHitProducer.cxx

Referenced by CbmRichProjectionProducer::DoProjection(), Exec(), CbmRichGeoTest::HitsAndPoints(), and CbmRichGeoTest::RingParameters().

+ Here is the caller graph for this function:

Member Data Documentation

constexpr Double_t CbmRichHitProducer::c = 2.998E8
staticprivate

Definition at line 221 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 221 of file CbmRichHitProducer.h

Referenced by Exec().

constexpr Double_t CbmRichHitProducer::e = 1.6022E-19
staticprivate

Definition at line 223 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 223 of file CbmRichHitProducer.h

Referenced by Exec().

Double_t CbmRichHitProducer::fCollectionEfficiency
private

Definition at line 245 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 245 of file CbmRichHitProducer.h

Referenced by Exec(), and SetCollectionEfficiency().

Double_t CbmRichHitProducer::fCrossTalkHitProb
private

Definition at line 251 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 251 of file CbmRichHitProducer.h

Referenced by AddCrossTalkHits(), and SetCrossTalkHitProb().

Int_t CbmRichHitProducer::fDetection
private

Definition at line 226 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 226 of file CbmRichHitProducer.h

Referenced by Exec().

Int_t CbmRichHitProducer::fDetType
private

Definition at line 243 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 243 of file CbmRichHitProducer.h

Referenced by AddCrossTalkHits(), Exec(), Init(), SetDetectorType(), and SetPhotoDetPar().

Double_t CbmRichHitProducer::fDetWidthX
private

Definition at line 233 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 233 of file CbmRichHitProducer.h

Referenced by Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().

Double_t CbmRichHitProducer::fDetWidthY
private

Definition at line 234 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 234 of file CbmRichHitProducer.h

Referenced by Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().

Double_t CbmRichHitProducer::fDetX
private

Definition at line 229 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 229 of file CbmRichHitProducer.h

Referenced by Exec(), and Init().

Double_t CbmRichHitProducer::fDetY
private

Definition at line 230 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 230 of file CbmRichHitProducer.h

Referenced by Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().

Double_t CbmRichHitProducer::fDetZ
private

Definition at line 231 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 231 of file CbmRichHitProducer.h

Referenced by AddCrossTalkHits(), Exec(), and Init().

Double_t CbmRichHitProducer::fDetZ_org
private

Definition at line 232 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 232 of file CbmRichHitProducer.h

Referenced by Exec(), and Init().

Int_t CbmRichHitProducer::fNDoubleHits
private

Definition at line 219 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 219 of file CbmRichHitProducer.h

Referenced by AddHit(), and Exec().

Int_t CbmRichHitProducer::fNEvents
private

Definition at line 227 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 227 of file CbmRichHitProducer.h

Referenced by Exec().

Int_t CbmRichHitProducer::fNHits
private

Definition at line 218 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 218 of file CbmRichHitProducer.h

Referenced by AddHit(), and Exec().

Int_t CbmRichHitProducer::fNofCrossTalkHits
private

Definition at line 252 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 252 of file CbmRichHitProducer.h

Referenced by AddCrossTalkHits(), and Exec().

Int_t CbmRichHitProducer::fNofNoiseHits
private

Definition at line 244 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 244 of file CbmRichHitProducer.h

Referenced by Exec(), Init(), and SetNofNoiseHits().

Double_t CbmRichHitProducer::fNRefrac
private

Definition at line 225 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 225 of file CbmRichHitProducer.h

Referenced by Exec(), and Init().

CbmGeoRichPar* CbmRichHitProducer::fPar
private

Definition at line 238 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 238 of file CbmRichHitProducer.h

Referenced by Init(), and SetParContainers().

TObjArray* CbmRichHitProducer::fPassNodes
private

Definition at line 237 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 237 of file CbmRichHitProducer.h

Referenced by Init().

Double_t CbmRichHitProducer::fPhi
private

Definition at line 249 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 249 of file CbmRichHitProducer.h

Referenced by Exec(), and Init().

Double_t CbmRichHitProducer::fPhotomulDist
private

Definition at line 242 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 242 of file CbmRichHitProducer.h

Referenced by Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().

Double_t CbmRichHitProducer::fPhotomulRadius
private

Definition at line 241 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 241 of file CbmRichHitProducer.h

Referenced by AddCrossTalkHits(), Exec(), FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and Init().

TClonesArray* CbmRichHitProducer::fRichHits
private

Definition at line 215 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 215 of file CbmRichHitProducer.h

Referenced by AddHit(), Exec(), Finish(), and Init().

TClonesArray* CbmRichHitProducer::fRichPoints
private

Definition at line 214 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 214 of file CbmRichHitProducer.h

Referenced by Exec(), and Init().

TObjArray* CbmRichHitProducer::fSensNodes
private

Definition at line 236 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 236 of file CbmRichHitProducer.h

Referenced by Init().

Double_t CbmRichHitProducer::fSigmaMirror
private

Definition at line 246 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 246 of file CbmRichHitProducer.h

Referenced by FindRichHitPositionCsI(), FindRichHitPositionMAPMT(), FindRichHitPositionSinglePMT(), and SetSigmaMirror().

Double_t CbmRichHitProducer::fTheta
private

Definition at line 248 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 248 of file CbmRichHitProducer.h

Referenced by Exec(), and Init().

constexpr Double_t CbmRichHitProducer::h = 6.626E-34
staticprivate

Definition at line 222 of file CbmRichHitProducer.h.

View newest version in sPHENIX GitHub at line 222 of file CbmRichHitProducer.h

Referenced by Exec().


The documentation for this class was generated from the following files: