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

#include <ecce-detectors/blob/master/FastPID/dRICH/genericRICH.h>

+ Inheritance diagram for genericRICH:
+ Collaboration diagram for genericRICH:

Public Member Functions

 genericRICH ()=default
 
virtual ~genericRICH ()=default
 
void setIndex (double val)
 
void setEfficiency (double val)
 
void setMinPhotons (double val)
 
void setThresholdMode (bool val)
 
void setChromaticSigma (int n, double *valx, double *valy)
 
void setPositionSigma (int n, double *valx, double *valy)
 
void setEmissionSigma (int n, double *valx, double *valy)
 
void setFieldSigma (int n, double *valx, double *valy)
 
void setTrackingSigma (int n, double *valx, double *valy)
 
double numSigma (double eta, double p, PID::type PID) override
 
double maxP (double eta, double nsigma, PID::type PID) override
 
double minP (double eta, double nsigma, PID::type PID) override
 
double cherenkovAngle (double p, double m) const
 
double cherenkovThreshold (double m) const
 
double numberOfPhotons (double angle) const
 
double numberOfDetectedPhotons (double angle) const
 
double cherenkovAngleSigma (double eta, double p, double m) const
 
- Public Member Functions inherited from genericDetector
 genericDetector ()=default
 
virtual ~genericDetector ()=default
 
void setType (EDetector_t val)
 
void setName (string val)
 
void setLength (double val)
 
void setRadius (double val)
 
void setPositionZ (double val)
 
void setRadiusIn (double val)
 
void setRadiusOut (double val)
 
void setMagneticField (double val)
 
virtual bool valid (double eta, double p) override
 
string name () override
 
void description () override
 
double maxPt (double eta, double numSigma, PID::type PID)
 
double minPt (double eta, double numSigma, PID::type PID)
 
- Public Member Functions inherited from PID
 PID ()
 
virtual ~PID ()
 
virtual double maxP (double eta, double p, double numSigma, PID::type PID)=0
 

Protected Attributes

double mIndex = 1.0014
 
double mEfficiency = 0.25
 
double mMinPhotons = 3.
 
TGraph * mChromaticSigma = nullptr
 
TGraph * mPositionSigma = nullptr
 
TGraph * mEmissionSigma = nullptr
 
TGraph * mFieldSigma = nullptr
 
TGraph * mTrackingSigma = nullptr
 
bool mThresholdMode = true
 
- Protected Attributes inherited from genericDetector
string mName = "genericDetector"
 
string mDescription = "Detector description"
 
EDetector_t mType = kBarrel
 
double mLength = 200.
 
double mRadius = 200.
 
double mPositionZ = 200.
 
double mRadiusIn = 20.
 
double mRadiusOut = 200.
 
double mMagneticField = 2.
 
const double mLightSpeed = 29.9792458
 
const double mMassElectron = 0.00051099891
 
const double mMassPion = 0.13957018
 
const double mMassKaon = 0.493677
 
const double mMassProton = 0.93827208816
 

Additional Inherited Members

- Public Types inherited from genericDetector
enum  EDetector_t { kBarrel, kForward }
 
- Protected Member Functions inherited from genericDetector
double etaMin ()
 
double etaMax ()
 
double ptMin ()
 
double pMin (double eta)
 
bool isHit (double eta, double p)
 
double trackLength (double eta)
 

Detailed Description

Author
R+Preghenella pregh.nosp@m.enel.nosp@m.la@bo.nosp@m..inf.nosp@m.n.it
Date
March 2020

Definition at line 10 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 10 of file genericRICH.h

Constructor & Destructor Documentation

genericRICH::genericRICH ( )
default
virtual genericRICH::~genericRICH ( )
virtualdefault

Member Function Documentation

double genericRICH::cherenkovAngle ( double  p,
double  m 
) const
inline

Definition at line 48 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 48 of file genericRICH.h

References mIndex.

Referenced by cherenkovAngleSigma(), minP(), and numSigma().

+ Here is the caller graph for this function:

double genericRICH::cherenkovAngleSigma ( double  eta,
double  p,
double  m 
) const

Definition at line 73 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 73 of file genericRICH.h

References cherenkovAngle(), mChromaticSigma, mEmissionSigma, mFieldSigma, mPositionSigma, mTrackingSigma, numberOfDetectedPhotons(), and theta().

Referenced by numSigma().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double genericRICH::cherenkovThreshold ( double  m) const
inline

Definition at line 49 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 49 of file genericRICH.h

References mIndex.

Referenced by minP(), and numSigma().

+ Here is the caller graph for this function:

double genericRICH::maxP ( double  eta,
double  nsigma,
PID::type  PID 
)
overridevirtual

let's do it numerically, starting from the threshold

Implements genericDetector.

Definition at line 126 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 126 of file genericRICH.h

References PID::k_p, minP(), genericDetector::mMassKaon, genericDetector::mMassPion, genericDetector::mMassProton, numSigma(), and PID::pi_k.

+ Here is the call graph for this function:

double genericRICH::minP ( double  eta,
double  nsigma,
PID::type  PID 
)
overridevirtual

let's do it numerically, starting from the threshold

Implements genericDetector.

Definition at line 146 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 146 of file genericRICH.h

References cherenkovAngle(), cherenkovThreshold(), PID::k_p, mass, max, mEfficiency, genericDetector::mMassKaon, genericDetector::mMassPion, genericDetector::mMassProton, mMinPhotons, mThresholdMode, numberOfPhotons(), PID::pi_k, and genericDetector::pMin().

Referenced by maxP().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double genericRICH::numberOfDetectedPhotons ( double  angle) const
inline

Definition at line 51 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 51 of file genericRICH.h

References mEfficiency, and numberOfPhotons().

Referenced by cherenkovAngleSigma().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double genericRICH::numberOfPhotons ( double  angle) const
inline

Definition at line 50 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 50 of file genericRICH.h

References genericDetector::mLength.

Referenced by minP(), and numberOfDetectedPhotons().

+ Here is the caller graph for this function:

double genericRICH::numSigma ( double  eta,
double  p,
PID::type  PID 
)
overridevirtual

methods to override

both particles are above threshold

lightest particle above threshold

none above threshold

Implements genericDetector.

Definition at line 97 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 97 of file genericRICH.h

References cherenkovAngle(), cherenkovAngleSigma(), cherenkovThreshold(), PID::k_p, genericDetector::mMassKaon, genericDetector::mMassPion, genericDetector::mMassProton, mThresholdMode, and PID::pi_k.

Referenced by maxP().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void genericRICH::setChromaticSigma ( int  n,
double *  valx,
double *  valy 
)
inline

Definition at line 22 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 22 of file genericRICH.h

References mChromaticSigma.

Referenced by dualRICH_aerogel::dualRICH_aerogel(), and dualRICH_C2F6::dualRICH_C2F6().

+ Here is the caller graph for this function:

void genericRICH::setEfficiency ( double  val)
inline

Definition at line 18 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 18 of file genericRICH.h

References mEfficiency.

Referenced by dualRICH_aerogel::dualRICH_aerogel(), and dualRICH_C2F6::dualRICH_C2F6().

+ Here is the caller graph for this function:

void genericRICH::setEmissionSigma ( int  n,
double *  valx,
double *  valy 
)
inline

Definition at line 30 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 30 of file genericRICH.h

References mEmissionSigma.

Referenced by dualRICH_aerogel::dualRICH_aerogel(), and dualRICH_C2F6::dualRICH_C2F6().

+ Here is the caller graph for this function:

void genericRICH::setFieldSigma ( int  n,
double *  valx,
double *  valy 
)
inline

Definition at line 34 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 34 of file genericRICH.h

References mFieldSigma.

Referenced by dualRICH_aerogel::dualRICH_aerogel(), and dualRICH_C2F6::dualRICH_C2F6().

+ Here is the caller graph for this function:

void genericRICH::setIndex ( double  val)
inline

setters

Definition at line 17 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 17 of file genericRICH.h

References mIndex.

Referenced by dualRICH_aerogel::dualRICH_aerogel(), and dualRICH_C2F6::dualRICH_C2F6().

+ Here is the caller graph for this function:

void genericRICH::setMinPhotons ( double  val)
inline

Definition at line 19 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 19 of file genericRICH.h

References mMinPhotons.

void genericRICH::setPositionSigma ( int  n,
double *  valx,
double *  valy 
)
inline

Definition at line 26 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 26 of file genericRICH.h

References mPositionSigma.

Referenced by dualRICH_aerogel::dualRICH_aerogel(), and dualRICH_C2F6::dualRICH_C2F6().

+ Here is the caller graph for this function:

void genericRICH::setThresholdMode ( bool  val)
inline

Definition at line 20 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 20 of file genericRICH.h

References mThresholdMode.

void genericRICH::setTrackingSigma ( int  n,
double *  valx,
double *  valy 
)
inline

Definition at line 38 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 38 of file genericRICH.h

References mTrackingSigma.

Referenced by dualRICH_aerogel::dualRICH_aerogel(), and dualRICH_C2F6::dualRICH_C2F6().

+ Here is the caller graph for this function:

Member Data Documentation

TGraph* genericRICH::mChromaticSigma = nullptr
protected

Definition at line 62 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 62 of file genericRICH.h

Referenced by cherenkovAngleSigma(), and setChromaticSigma().

double genericRICH::mEfficiency = 0.25
protected

Definition at line 58 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 58 of file genericRICH.h

Referenced by minP(), numberOfDetectedPhotons(), and setEfficiency().

TGraph* genericRICH::mEmissionSigma = nullptr
protected

Definition at line 64 of file genericRICH.h.

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

Referenced by cherenkovAngleSigma(), and setEmissionSigma().

TGraph* genericRICH::mFieldSigma = nullptr
protected

Definition at line 65 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 65 of file genericRICH.h

Referenced by cherenkovAngleSigma(), and setFieldSigma().

double genericRICH::mIndex = 1.0014
protected

Definition at line 57 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 57 of file genericRICH.h

Referenced by cherenkovAngle(), cherenkovThreshold(), and setIndex().

double genericRICH::mMinPhotons = 3.
protected

Definition at line 59 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 59 of file genericRICH.h

Referenced by minP(), and setMinPhotons().

TGraph* genericRICH::mPositionSigma = nullptr
protected

Definition at line 63 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 63 of file genericRICH.h

Referenced by cherenkovAngleSigma(), and setPositionSigma().

bool genericRICH::mThresholdMode = true
protected

Definition at line 69 of file genericRICH.h.

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

Referenced by minP(), numSigma(), and setThresholdMode().

TGraph* genericRICH::mTrackingSigma = nullptr
protected

Definition at line 66 of file genericRICH.h.

View newest version in sPHENIX GitHub at line 66 of file genericRICH.h

Referenced by cherenkovAngleSigma(), and setTrackingSigma().


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