HYDRA_development_version
|
#include <hrich700digipar.h>
Public Member Functions | |
HRich700DigiPar (const Char_t *name="Rich700DigiPar", const Char_t *title="Digitizer parameters for RICH", const Char_t *context="Rich700DigiParProduction") | |
virtual | ~HRich700DigiPar () |
void | getLocation (Int_t pmtId, Float_t x, Float_t y, Int_t *loc, Bool_t silent=kTRUE) |
void | pmtIdPixelToColRowSec (Int_t pmtId, Int_t pixel, Int_t &sec, Int_t &col, Int_t &row, Bool_t silent=kTRUE) |
pair< Double_t, Double_t > | getXY (Int_t *loc, Bool_t silent=kTRUE) |
pair< Double_t, Double_t > | getPmtCenter (Int_t pmtId) |
vector< pair< Double_t, Double_t > > | getPmtCenters () |
Double_t | getPmtSize () |
Double_t | getPmtSensSize () |
Double_t | getCollectionEfficiency () |
Double_t | getCrossTalkProbability () |
Int_t | getNofNoiseHits () |
Double_t | getPmtGap () |
Int_t | getNPmts () |
Int_t | getNPixelInRow () |
vector< pair< Int_t, Int_t > > | getDirectNeighbourPixels (Int_t col, Int_t row) |
vector< pair< Int_t, Int_t > > | getDiagonalNeighbourPixels (Int_t col, Int_t row) |
vector< pair< Int_t, Int_t > > | getNoisePixels (UInt_t nofNoisePixels) |
map< Int_t, HRich700PmtData > | getPmtDataMapPmtId () |
Int_t | getPMTId (Float_t x, Float_t y) |
Int_t | getPMTId (Int_t col, Int_t row) |
HRich700PmtData * | getPMTData (Int_t pmtid) |
Int_t | getInterpolatedSectorThetaPhi (Float_t x, Float_t y, Float_t &theta, Float_t &phi) |
Int_t | getInterpolatedSectorThetaPhi (Float_t x, Float_t y, Float_t zv, Float_t &theta, Float_t &phi) |
Int_t | getInterpolatedSectorThetaPhiAnalytical (Float_t x, Float_t y, Float_t zv, Float_t &theta, Float_t &phi) |
void | getRingCenterXY (Float_t theta, Float_t phi, Float_t zv, Float_t &x, Float_t &y) |
Bool_t | getInterpolatedThetaPhiPMT (Float_t x, Float_t y, Float_t &theta, Float_t &phi) |
Int_t | getSector (Float_t x, Float_t y) |
Int_t | getSectorPixels (Int_t col, Int_t row) |
Int_t | getSectorPMTInd (Int_t xind, Int_t yInd) |
Int_t | getSectorPMTId (Int_t pmtid) |
Int_t | getSectorPhiThetaDegPixels (Int_t col, Int_t row, Float_t &phiDeg, Float_t &thetaDeg) |
Int_t | getSectorPhiThetaDegPMTInd (Int_t xind, Int_t yInd, Float_t &phiDeg, Float_t &thetaDeg) |
Int_t | getSectorPhiThetaDegPMTId (Int_t pmtid, Float_t &phiDeg, Float_t &thetaDeg) |
void | getAlignedThetaPhi (const Float_t theta, const Float_t phi, Float_t &thetaCor, Float_t &phiCor) |
void | getAlignedThetaPhiInv (const Float_t theta, const Float_t phi, Float_t &thetaCor, Float_t &phiCor) |
Bool_t | init (HParIo *inp, Int_t *set) |
void | putParams (HParamList *) |
Bool_t | getParams (HParamList *) |
void | clear () |
void | printParam (void) |
string | getStringForParTxtFile () |
![]() | |
HParCond (const Char_t *name, const Char_t *title, const Char_t *context) | |
virtual | ~HParCond () |
virtual Int_t | write (HParIo *) |
virtual void | printParams () |
![]() | |
HParSet (const Char_t *name="", const Char_t *title="", const Char_t *context="") | |
virtual | ~HParSet () |
virtual Bool_t | init (void) |
virtual Bool_t | init (HParIo *io) |
virtual Int_t | write () |
virtual void | print () |
const Text_t * | getDetectorName () |
void | resetInputVersions () |
void | setInputVersion (Int_t v=-1, Int_t i=0) |
Int_t | getInputVersion (Int_t i) |
void | setStatic (Bool_t flag=kTRUE) |
Bool_t | isStatic () |
void | setChanged (Bool_t flag=kTRUE) |
Bool_t | hasChanged () |
void | setParamContext (const Char_t *) |
const Char_t * | getParamContext () const |
void | setAuthor (const Char_t *s) |
const Char_t * | getAuthor () const |
void | setDescription (const Char_t *s) |
const Char_t * | getDescription () const |
void | copyComment (HParSet &r) |
Private Member Functions | |
void | fillMaps () |
remember dimensions to calculate indX+indY from x+y More... | |
Private Attributes | |
map< Int_t, HRich700PmtData > | fPmtDataMapPmtId |
map< pair< Int_t, Int_t > , HRich700PmtData > | fPmtDataMapXY |
Int_t | fNofPixelsInRow |
Double_t | fPmtSize |
Double_t | fPmtSensSize |
Double_t | fCollectionEfficiency |
Double_t | fCrossTalkProbability |
Int_t | fNofNoiseHits |
Double_t | fPmtGap |
TArrayD | fArrayPmt |
vector< TArrayD > | fArrayThetaMean |
TArrayD | fArrayZVertices |
TArrayD | fArrayThetaTransParamsPoly |
TArrayD | fArrayThetaTransParamsGeo |
vector< TH2F * > | fhxyThetaMean |
TArrayD | fArrayPhiAlign |
hist for mapping xy -> Theta [deg] More... | |
TArrayD | fArrayThetaAlign |
TH2D * | fhPhiAlign |
TH2D * | fhThetaAlign |
hist for alignment ThetaPhi -> Phi More... | |
TArrayD | fArrayInvPhiAlign |
hist for alignment ThetaPhi -> Theta More... | |
TArrayD | fArrayInvThetaAlign |
TH2D * | fhInvPhiAlign |
TH2D * | fhInvThetaAlign |
hist for inverse alignment ThetaPhi -> Phi More... | |
Float_t | fMaxX |
hist for inverse alignment ThetaPhi -> Theta More... | |
Float_t | fMaxY |
remember dimensions to calculate indX+indY from x+y More... | |
Additional Inherited Members | |
![]() | |
HParCond () | |
![]() | |
Text_t | detName [20] |
Int_t | versions [3] |
name of the detector the container belongs to More... | |
Bool_t | status |
versions of container in the 2 possible inputs More... | |
Bool_t | changed |
static flag More... | |
TString | paramContext |
flag is kTRUE if parameters have changed More... | |
TString | author |
TString | description |
Definition at line 24 of file hrich700digipar.h.
HRich700DigiPar::HRich700DigiPar | ( | const Char_t * | name = "Rich700DigiPar" , |
const Char_t * | title = "Digitizer parameters for RICH" , |
||
const Char_t * | context = "Rich700DigiParProduction" |
||
) |
Definition at line 30 of file hrich700digipar.cc.
|
virtual |
Definition at line 37 of file hrich700digipar.cc.
|
virtual |
Reimplemented from HParSet.
Definition at line 42 of file hrich700digipar.cc.
References fArrayInvPhiAlign, fArrayInvThetaAlign, fArrayPhiAlign, fArrayPmt, fArrayThetaAlign, fArrayThetaMean, fArrayThetaTransParamsGeo, fArrayThetaTransParamsPoly, fArrayZVertices, fhInvPhiAlign, fhInvThetaAlign, fhPhiAlign, fhThetaAlign, fhxyThetaMean, and HParSet::resetInputVersions().
|
private |
remember dimensions to calculate indX+indY from x+y
Definition at line 219 of file hrich700digipar.cc.
References HHistConverter::createHist(), fArrayInvPhiAlign, fArrayInvThetaAlign, fArrayPhiAlign, fArrayPmt, fArrayThetaAlign, fArrayThetaMean, fhInvPhiAlign, fhInvThetaAlign, fhPhiAlign, fhThetaAlign, fhxyThetaMean, HRich700PmtData::fIndX, HRich700PmtData::fIndY, fMaxX, fMaxY, HRich700PmtData::fPhi, fPmtDataMapPmtId, fPmtDataMapXY, HRich700PmtData::fPmtId, HRich700PmtData::fPmtType, HRich700PmtData::fSector, HRich700PmtData::fTheta, HRich700PmtData::fX, HRich700PmtData::fY, HRich700PmtData::fZ, getSector(), and NPARPMT.
Referenced by init().
void HRich700DigiPar::getAlignedThetaPhi | ( | const Float_t | theta, |
const Float_t | phi, | ||
Float_t & | thetaCor, | ||
Float_t & | phiCor | ||
) |
Definition at line 707 of file hrich700digipar.cc.
References fhPhiAlign, fhThetaAlign, phi, and theta.
Referenced by HParticleCandFiller::fillSingleProperties(), and HParticleCandFiller::findBestRich().
void HRich700DigiPar::getAlignedThetaPhiInv | ( | const Float_t | theta, |
const Float_t | phi, | ||
Float_t & | thetaCor, | ||
Float_t & | phiCor | ||
) |
Definition at line 723 of file hrich700digipar.cc.
References fhInvPhiAlign, fhInvThetaAlign, phi, and theta.
|
inline |
Definition at line 76 of file hrich700digipar.h.
|
inline |
Definition at line 77 of file hrich700digipar.h.
vector< pair< Int_t, Int_t > > HRich700DigiPar::getDiagonalNeighbourPixels | ( | Int_t | col, |
Int_t | row | ||
) |
Definition at line 452 of file hrich700digipar.cc.
References fNofPixelsInRow.
vector< pair< Int_t, Int_t > > HRich700DigiPar::getDirectNeighbourPixels | ( | Int_t | col, |
Int_t | row | ||
) |
Definition at line 425 of file hrich700digipar.cc.
References fNofPixelsInRow.
Int_t HRich700DigiPar::getInterpolatedSectorThetaPhi | ( | Float_t | x, |
Float_t | y, | ||
Float_t & | theta, | ||
Float_t & | phi | ||
) |
Definition at line 544 of file hrich700digipar.cc.
References fhxyThetaMean, getSector(), and phi.
Referenced by HRich700RingFinderHough::AddRing(), HParticleCandFiller::fillSingleProperties(), HParticleCandFiller::findBestRich(), and getSectorPhiThetaDegPixels().
Int_t HRich700DigiPar::getInterpolatedSectorThetaPhi | ( | Float_t | x, |
Float_t | y, | ||
Float_t | zv, | ||
Float_t & | theta, | ||
Float_t & | phi | ||
) |
Definition at line 558 of file hrich700digipar.cc.
References fArrayZVertices, fhxyThetaMean, getSector(), and phi.
Int_t HRich700DigiPar::getInterpolatedSectorThetaPhiAnalytical | ( | Float_t | x, |
Float_t | y, | ||
Float_t | zv, | ||
Float_t & | theta, | ||
Float_t & | phi | ||
) |
Definition at line 593 of file hrich700digipar.cc.
References fArrayThetaTransParamsGeo, fArrayThetaTransParamsPoly, getSector(), and phi.
Bool_t HRich700DigiPar::getInterpolatedThetaPhiPMT | ( | Float_t | x, |
Float_t | y, | ||
Float_t & | theta, | ||
Float_t & | phi | ||
) |
Definition at line 739 of file hrich700digipar.cc.
References HRich700PmtData::fIndX, HRich700PmtData::fIndY, HRich700PmtData::fPhi, fPmtDataMapPmtId, fPmtDataMapXY, HRich700PmtData::fTheta, HRich700PmtData::fX, HRich700PmtData::fY, getPMTId(), and phi0.
void HRich700DigiPar::getLocation | ( | Int_t | pmtId, |
Float_t | x, | ||
Float_t | y, | ||
Int_t * | loc, | ||
Bool_t | silent = kTRUE |
||
) |
Definition at line 283 of file hrich700digipar.cc.
References HRich700PmtData::fIndX, HRich700PmtData::fIndY, fNofPixelsInRow, fPmtDataMapPmtId, fPmtSensSize, and getSector().
|
inline |
Definition at line 78 of file hrich700digipar.h.
vector< pair< Int_t, Int_t > > HRich700DigiPar::getNoisePixels | ( | UInt_t | nofNoisePixels | ) |
Definition at line 480 of file hrich700digipar.cc.
References fNofPixelsInRow, fPmtDataMapXY, RICH700_MAX_COLS, and RICH700_MAX_ROWS.
|
inline |
Definition at line 81 of file hrich700digipar.h.
Referenced by HEDRich700PadPlane::HEDRich700PadPlane().
|
inline |
Definition at line 80 of file hrich700digipar.h.
References NPARPMT.
|
virtual |
Implements HParCond.
Definition at line 195 of file hrich700digipar.cc.
References fArrayInvPhiAlign, fArrayInvThetaAlign, fArrayPhiAlign, fArrayPmt, fArrayThetaAlign, fArrayThetaMean, fArrayThetaTransParamsGeo, fArrayThetaTransParamsPoly, fArrayZVertices, fCollectionEfficiency, fCrossTalkProbability, HParamList::fill(), fNofNoiseHits, fNofPixelsInRow, fPmtGap, fPmtSensSize, and fPmtSize.
pair< Double_t, Double_t > HRich700DigiPar::getPmtCenter | ( | Int_t | pmtId | ) |
Definition at line 409 of file hrich700digipar.cc.
References fPmtDataMapPmtId.
vector< pair< Double_t, Double_t > > HRich700DigiPar::getPmtCenters | ( | ) |
Definition at line 414 of file hrich700digipar.cc.
References fPmtDataMapPmtId.
HRich700PmtData * HRich700DigiPar::getPMTData | ( | Int_t | pmtid | ) |
Definition at line 537 of file hrich700digipar.cc.
References fPmtDataMapPmtId.
Referenced by HRich700RingFinderHough::AddRing(), HEDRich700PadPlane::HEDRich700PadPlane(), and HEDRichGeantPadPlane::HEDRichGeantPadPlane().
|
inline |
Definition at line 86 of file hrich700digipar.h.
|
inline |
Definition at line 79 of file hrich700digipar.h.
Int_t HRich700DigiPar::getPMTId | ( | Float_t | x, |
Float_t | y | ||
) |
Definition at line 502 of file hrich700digipar.cc.
References fMaxX, fMaxY, fPmtDataMapXY, fPmtGap, and fPmtSize.
Referenced by HRich700RingFinderHough::AddRing(), getInterpolatedThetaPhiPMT(), HEDRich700PadPlane::HEDRich700PadPlane(), and printParam().
Int_t HRich700DigiPar::getPMTId | ( | Int_t | col, |
Int_t | row | ||
) |
Definition at line 522 of file hrich700digipar.cc.
References fNofPixelsInRow, and fPmtDataMapXY.
|
inline |
Definition at line 75 of file hrich700digipar.h.
|
inline |
Definition at line 74 of file hrich700digipar.h.
Referenced by HEDRich700PadPlane::HEDRich700PadPlane().
void HRich700DigiPar::getRingCenterXY | ( | Float_t | theta, |
Float_t | phi, | ||
Float_t | zv, | ||
Float_t & | x, | ||
Float_t & | y | ||
) |
Definition at line 659 of file hrich700digipar.cc.
References fArrayThetaTransParamsGeo.
Int_t HRich700DigiPar::getSector | ( | Float_t | x, |
Float_t | y | ||
) |
Definition at line 267 of file hrich700digipar.cc.
References phi.
Referenced by fillMaps(), getInterpolatedSectorThetaPhi(), getInterpolatedSectorThetaPhiAnalytical(), getLocation(), getSectorPixels(), pmtIdPixelToColRowSec(), and printParam().
Int_t HRich700DigiPar::getSectorPhiThetaDegPixels | ( | Int_t | col, |
Int_t | row, | ||
Float_t & | phiDeg, | ||
Float_t & | thetaDeg | ||
) |
Definition at line 868 of file hrich700digipar.cc.
References fNofPixelsInRow, fPmtDataMapXY, and getInterpolatedSectorThetaPhi().
Int_t HRich700DigiPar::getSectorPhiThetaDegPMTId | ( | Int_t | pmtid, |
Float_t & | phiDeg, | ||
Float_t & | thetaDeg | ||
) |
Definition at line 902 of file hrich700digipar.cc.
References fPmtDataMapPmtId.
Int_t HRich700DigiPar::getSectorPhiThetaDegPMTInd | ( | Int_t | xind, |
Int_t | yInd, | ||
Float_t & | phiDeg, | ||
Float_t & | thetaDeg | ||
) |
Definition at line 888 of file hrich700digipar.cc.
References fPmtDataMapXY.
Int_t HRich700DigiPar::getSectorPixels | ( | Int_t | col, |
Int_t | row | ||
) |
Definition at line 832 of file hrich700digipar.cc.
References fNofPixelsInRow, fPmtDataMapXY, and getSector().
Int_t HRich700DigiPar::getSectorPMTId | ( | Int_t | pmtid | ) |
Definition at line 858 of file hrich700digipar.cc.
References fPmtDataMapPmtId.
Int_t HRich700DigiPar::getSectorPMTInd | ( | Int_t | xind, |
Int_t | yInd | ||
) |
Definition at line 848 of file hrich700digipar.cc.
References fPmtDataMapXY.
string HRich700DigiPar::getStringForParTxtFile | ( | ) |
Definition at line 138 of file hrich700digipar.cc.
References fCollectionEfficiency, fCrossTalkProbability, fNofNoiseHits, fNofPixelsInRow, fPmtGap, fPmtSensSize, and fPmtSize.
pair< Double_t, Double_t > HRich700DigiPar::getXY | ( | Int_t * | loc, |
Bool_t | silent = kTRUE |
||
) |
Definition at line 376 of file hrich700digipar.cc.
References fNofPixelsInRow, fPmtDataMapXY, fPmtSensSize, HRich700PmtData::fX, and HRich700PmtData::fY.
Referenced by HRich700RingFinderHough::processEvent().
|
virtual |
Reimplemented from HParCond.
Definition at line 159 of file hrich700digipar.cc.
References HParSet::changed, fillMaps(), HParSet::init(), and rc.
void HRich700DigiPar::pmtIdPixelToColRowSec | ( | Int_t | pmtId, |
Int_t | pixel, | ||
Int_t & | sec, | ||
Int_t & | col, | ||
Int_t & | row, | ||
Bool_t | silent = kTRUE |
||
) |
Definition at line 326 of file hrich700digipar.cc.
References HRich700PmtData::fIndX, HRich700PmtData::fIndY, fNofPixelsInRow, fPmtDataMapPmtId, fPmtSensSize, HRich700PmtData::fX, HRich700PmtData::fY, and getSector().
void HRich700DigiPar::printParam | ( | void | ) |
Definition at line 64 of file hrich700digipar.cc.
References HHistConverter::createHist(), fArrayInvPhiAlign, fArrayInvThetaAlign, fArrayPhiAlign, fArrayPmt, fArrayThetaAlign, fArrayThetaMean, fArrayThetaTransParamsGeo, fArrayThetaTransParamsPoly, fArrayZVertices, fCollectionEfficiency, fCrossTalkProbability, HHistConverter::fillArray(), fNofNoiseHits, fNofPixelsInRow, fPmtGap, fPmtSensSize, fPmtSize, getPMTId(), getSector(), and NPARPMT.
|
virtual |
Implements HParCond.
Definition at line 172 of file hrich700digipar.cc.
References HParamList::add(), fArrayInvPhiAlign, fArrayInvThetaAlign, fArrayPhiAlign, fArrayPmt, fArrayThetaAlign, fArrayThetaMean, fArrayThetaTransParamsGeo, fArrayThetaTransParamsPoly, fArrayZVertices, fCollectionEfficiency, fCrossTalkProbability, fNofNoiseHits, fNofPixelsInRow, fPmtGap, fPmtSensSize, and fPmtSize.
|
private |
hist for alignment ThetaPhi -> Theta
Definition at line 51 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().
|
private |
Definition at line 52 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().
|
private |
hist for mapping xy -> Theta [deg]
Definition at line 47 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().
|
private |
Definition at line 37 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().
|
private |
Definition at line 48 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().
|
private |
Definition at line 38 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().
|
private |
Definition at line 43 of file hrich700digipar.h.
Referenced by clear(), getInterpolatedSectorThetaPhiAnalytical(), getParams(), getRingCenterXY(), printParam(), and putParams().
|
private |
Definition at line 42 of file hrich700digipar.h.
Referenced by clear(), getInterpolatedSectorThetaPhiAnalytical(), getParams(), printParam(), and putParams().
|
private |
Definition at line 39 of file hrich700digipar.h.
Referenced by clear(), getInterpolatedSectorThetaPhi(), getParams(), printParam(), and putParams().
|
private |
Definition at line 33 of file hrich700digipar.h.
Referenced by getParams(), getStringForParTxtFile(), printParam(), and putParams().
|
private |
Definition at line 34 of file hrich700digipar.h.
Referenced by getParams(), getStringForParTxtFile(), printParam(), and putParams().
|
private |
Definition at line 53 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), and getAlignedThetaPhiInv().
|
private |
hist for inverse alignment ThetaPhi -> Phi
Definition at line 54 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), and getAlignedThetaPhiInv().
|
private |
Definition at line 49 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), and getAlignedThetaPhi().
|
private |
hist for alignment ThetaPhi -> Phi
Definition at line 50 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), and getAlignedThetaPhi().
|
private |
Definition at line 44 of file hrich700digipar.h.
Referenced by clear(), fillMaps(), and getInterpolatedSectorThetaPhi().
|
private |
hist for inverse alignment ThetaPhi -> Theta
Definition at line 56 of file hrich700digipar.h.
Referenced by fillMaps(), and getPMTId().
|
private |
remember dimensions to calculate indX+indY from x+y
Definition at line 57 of file hrich700digipar.h.
Referenced by fillMaps(), and getPMTId().
|
private |
Definition at line 35 of file hrich700digipar.h.
Referenced by getParams(), getStringForParTxtFile(), printParam(), and putParams().
|
private |
Definition at line 30 of file hrich700digipar.h.
Referenced by getDiagonalNeighbourPixels(), getDirectNeighbourPixels(), getLocation(), getNoisePixels(), getParams(), getPMTId(), getSectorPhiThetaDegPixels(), getSectorPixels(), getStringForParTxtFile(), getXY(), pmtIdPixelToColRowSec(), printParam(), and putParams().
|
private |
Definition at line 27 of file hrich700digipar.h.
Referenced by fillMaps(), getInterpolatedThetaPhiPMT(), getLocation(), getPmtCenter(), getPmtCenters(), getPMTData(), getSectorPhiThetaDegPMTId(), getSectorPMTId(), and pmtIdPixelToColRowSec().
|
private |
Definition at line 28 of file hrich700digipar.h.
Referenced by fillMaps(), getInterpolatedThetaPhiPMT(), getNoisePixels(), getPMTId(), getSectorPhiThetaDegPixels(), getSectorPhiThetaDegPMTInd(), getSectorPixels(), getSectorPMTInd(), and getXY().
|
private |
Definition at line 36 of file hrich700digipar.h.
Referenced by getParams(), getPMTId(), getStringForParTxtFile(), printParam(), and putParams().
|
private |
Definition at line 32 of file hrich700digipar.h.
Referenced by getLocation(), getParams(), getStringForParTxtFile(), getXY(), pmtIdPixelToColRowSec(), printParam(), and putParams().
|
private |
Definition at line 31 of file hrich700digipar.h.
Referenced by getParams(), getPMTId(), getStringForParTxtFile(), printParam(), and putParams().