HYDRA_development_version
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
HRich700DigiPar Class Reference

#include <hrich700digipar.h>

Inheritance diagram for HRich700DigiPar:
Collaboration diagram for HRich700DigiPar:

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, HRich700PmtDatagetPmtDataMapPmtId ()
 
Int_t getPMTId (Float_t x, Float_t y)
 
Int_t getPMTId (Int_t col, Int_t row)
 
HRich700PmtDatagetPMTData (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 ()
 
- Public Member Functions inherited from HParCond
 HParCond (const Char_t *name, const Char_t *title, const Char_t *context)
 
virtual ~HParCond ()
 
virtual Int_t write (HParIo *)
 
virtual void printParams ()
 
- Public Member Functions inherited from HParSet
 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, HRich700PmtDatafPmtDataMapPmtId
 
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

- Protected Member Functions inherited from HParCond
 HParCond ()
 
- Protected Attributes inherited from HParSet
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
 

Detailed Description

Definition at line 24 of file hrich700digipar.h.

Constructor & Destructor Documentation

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.

HRich700DigiPar::~HRich700DigiPar ( )
virtual

Definition at line 37 of file hrich700digipar.cc.

Member Function Documentation

void HRich700DigiPar::getAlignedThetaPhi ( const Float_t  theta,
const Float_t  phi,
Float_t &  thetaCor,
Float_t &  phiCor 
)
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.

Double_t HRich700DigiPar::getCollectionEfficiency ( )
inline

Definition at line 76 of file hrich700digipar.h.

Double_t HRich700DigiPar::getCrossTalkProbability ( )
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 
)
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 
)
Bool_t HRich700DigiPar::getInterpolatedThetaPhiPMT ( Float_t  x,
Float_t  y,
Float_t &  theta,
Float_t &  phi 
)
void HRich700DigiPar::getLocation ( Int_t  pmtId,
Float_t  x,
Float_t  y,
Int_t *  loc,
Bool_t  silent = kTRUE 
)
Int_t HRich700DigiPar::getNofNoiseHits ( )
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.

Int_t HRich700DigiPar::getNPixelInRow ( )
inline

Definition at line 81 of file hrich700digipar.h.

Referenced by HEDRich700PadPlane::HEDRich700PadPlane().

Int_t HRich700DigiPar::getNPmts ( )
inline

Definition at line 80 of file hrich700digipar.h.

References NPARPMT.

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)
map<Int_t,HRich700PmtData> HRich700DigiPar::getPmtDataMapPmtId ( )
inline

Definition at line 86 of file hrich700digipar.h.

Double_t HRich700DigiPar::getPmtGap ( )
inline

Definition at line 79 of file hrich700digipar.h.

Int_t HRich700DigiPar::getPMTId ( Float_t  x,
Float_t  y 
)
Int_t HRich700DigiPar::getPMTId ( Int_t  col,
Int_t  row 
)

Definition at line 522 of file hrich700digipar.cc.

References fNofPixelsInRow, and fPmtDataMapXY.

Double_t HRich700DigiPar::getPmtSensSize ( )
inline

Definition at line 75 of file hrich700digipar.h.

Double_t HRich700DigiPar::getPmtSize ( )
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 
)
Int_t HRich700DigiPar::getSectorPhiThetaDegPixels ( Int_t  col,
Int_t  row,
Float_t &  phiDeg,
Float_t &  thetaDeg 
)
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 ( )
pair< Double_t, Double_t > HRich700DigiPar::getXY ( Int_t *  loc,
Bool_t  silent = kTRUE 
)
Bool_t HRich700DigiPar::init ( HParIo inp,
Int_t *  set 
)
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 
)

Member Data Documentation

TArrayD HRich700DigiPar::fArrayInvPhiAlign
private

hist for alignment ThetaPhi -> Theta

Definition at line 51 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().

TArrayD HRich700DigiPar::fArrayInvThetaAlign
private

Definition at line 52 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().

TArrayD HRich700DigiPar::fArrayPhiAlign
private

hist for mapping xy -> Theta [deg]

Definition at line 47 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().

TArrayD HRich700DigiPar::fArrayPmt
private

Definition at line 37 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().

TArrayD HRich700DigiPar::fArrayThetaAlign
private

Definition at line 48 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().

vector<TArrayD> HRich700DigiPar::fArrayThetaMean
private

Definition at line 38 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), getParams(), printParam(), and putParams().

TArrayD HRich700DigiPar::fArrayThetaTransParamsGeo
private
TArrayD HRich700DigiPar::fArrayThetaTransParamsPoly
private
TArrayD HRich700DigiPar::fArrayZVertices
private
Double_t HRich700DigiPar::fCollectionEfficiency
private

Definition at line 33 of file hrich700digipar.h.

Referenced by getParams(), getStringForParTxtFile(), printParam(), and putParams().

Double_t HRich700DigiPar::fCrossTalkProbability
private

Definition at line 34 of file hrich700digipar.h.

Referenced by getParams(), getStringForParTxtFile(), printParam(), and putParams().

TH2D* HRich700DigiPar::fhInvPhiAlign
private

Definition at line 53 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), and getAlignedThetaPhiInv().

TH2D* HRich700DigiPar::fhInvThetaAlign
private

hist for inverse alignment ThetaPhi -> Phi

Definition at line 54 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), and getAlignedThetaPhiInv().

TH2D* HRich700DigiPar::fhPhiAlign
private

Definition at line 49 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), and getAlignedThetaPhi().

TH2D* HRich700DigiPar::fhThetaAlign
private

hist for alignment ThetaPhi -> Phi

Definition at line 50 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), and getAlignedThetaPhi().

vector<TH2F*> HRich700DigiPar::fhxyThetaMean
private

Definition at line 44 of file hrich700digipar.h.

Referenced by clear(), fillMaps(), and getInterpolatedSectorThetaPhi().

Float_t HRich700DigiPar::fMaxX
private

hist for inverse alignment ThetaPhi -> Theta

Definition at line 56 of file hrich700digipar.h.

Referenced by fillMaps(), and getPMTId().

Float_t HRich700DigiPar::fMaxY
private

remember dimensions to calculate indX+indY from x+y

Definition at line 57 of file hrich700digipar.h.

Referenced by fillMaps(), and getPMTId().

Int_t HRich700DigiPar::fNofNoiseHits
private

Definition at line 35 of file hrich700digipar.h.

Referenced by getParams(), getStringForParTxtFile(), printParam(), and putParams().

map<pair<Int_t,Int_t>, HRich700PmtData> HRich700DigiPar::fPmtDataMapXY
private
Double_t HRich700DigiPar::fPmtGap
private

Definition at line 36 of file hrich700digipar.h.

Referenced by getParams(), getPMTId(), getStringForParTxtFile(), printParam(), and putParams().

Double_t HRich700DigiPar::fPmtSensSize
private
Double_t HRich700DigiPar::fPmtSize
private

Definition at line 31 of file hrich700digipar.h.

Referenced by getParams(), getPMTId(), getStringForParTxtFile(), printParam(), and putParams().


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