LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "PhotonVisibilityService.h"
Public Member Functions | |
PhotonVisibilityService (fhicl::ParameterSet const &pset, art::ActivityRegistry ®) | |
void | reconfigure (fhicl::ParameterSet const &p) |
double | GetQuenchingFactor (double dQdx) const |
float | GetVisibility (double const *xyz, unsigned int OpChannel, bool wantReflected=false) const |
float const * | GetAllVisibilities (double const *xyz, bool wantReflected=false) const |
void | LoadLibrary () const |
void | StoreLibrary () |
void | StoreLightProd (int VoxID, double N) |
void | RetrieveLightProd (int &VoxID, double &N) const |
void | SetLibraryEntry (int VoxID, int OpChannel, float N, bool wantReflected=false) |
float | GetLibraryEntry (int VoxID, int OpChannel, bool wantReflected=false) const |
float const * | GetLibraryEntries (int VoxID, bool wantReflected=false) const |
float const * | GetReflT0s (double const *xyz) const |
void | SetLibraryReflT0Entry (int VoxID, int OpChannel, float value) |
float const * | GetLibraryReflT0Entries (int VoxID) const |
float | GetLibraryReflT0Entry (int VoxID, int Channel) const |
const std::vector< float > * | GetTimingPar (double const *xyz) const |
void | SetLibraryTimingParEntry (int VoxID, int OpChannel, float value, size_t parnum) |
const std::vector< float > * | GetLibraryTimingParEntries (int VoxID) const |
float | GetLibraryTimingParEntry (int VoxID, int Channel, size_t npar) const |
TF1 * | GetTimingTF1 (double const *xyz) const |
void | SetLibraryTimingTF1Entry (int VoxID, int OpChannel, TF1 func) |
TF1 * | GetLibraryTimingTF1Entries (int VoxID) const |
void | SetDirectLightPropFunctions (TF1 const *functions[8], double &d_break, double &d_max, double &tf1_sampling_factor) const |
void | SetReflectedCOLightPropFunctions (TF1 const *functions[5], double &t0_max, double &t0_break_point) const |
bool | IsBuildJob () const |
bool | UseParameterization () const |
bool | StoreReflected () const |
bool | StoreReflT0 () const |
bool | IncludeParPropTime () const |
size_t | ParPropTimeNpar () const |
std::string | ParPropTimeFormula () const |
bool | IncludePropTime () const |
const sim::PhotonVoxelDef & | GetVoxelDef () const |
size_t | NOpChannels () const |
Static Public Member Functions | |
static double | DistanceToOpDet (double const *xyz, unsigned int OpDet) |
static double | SolidAngleFactor (double const *xyz, unsigned int OpDet) |
Private Attributes | |
int | fCurrentVoxel |
double | fCurrentValue |
float | fXmin |
float | fXmax |
float | fYmin |
float | fYmax |
float | fZmin |
float | fZmax |
int | fNx |
int | fNy |
int | fNz |
bool | fUseCryoBoundary |
bool | fLibraryBuildJob |
bool | fDoNotLoadLibrary |
bool | fParameterization |
bool | fHybrid |
bool | fStoreReflected |
bool | fStoreReflT0 |
bool | fIncludePropTime |
bool | fParPropTime |
size_t | fParPropTime_npar |
std::string | fParPropTime_formula |
bool | fInterpolate |
TF1 * | fparslogNorm |
TF1 * | fparslogNorm_far |
TF1 * | fparsMPV |
TF1 * | fparsMPV_far |
TF1 * | fparsWidth |
TF1 * | fparsCte |
TF1 * | fparsCte_far |
TF1 * | fparsSlope |
double | fD_break |
double | fD_max |
double | fTF1_sampling_factor |
TF1 * | fparslogNorm_refl |
TF1 * | fparsMPV_refl |
TF1 * | fparsWidth_refl |
TF1 * | fparsCte_refl |
TF1 * | fparsSlope_refl |
double | fT0_max |
double | fT0_break_point |
std::string | fLibraryFile |
IPhotonLibrary * | fTheLibrary |
sim::PhotonVoxelDef | fVoxelDef |
Definition at line 25 of file PhotonVisibilityService.h.
phot::PhotonVisibilityService::PhotonVisibilityService | ( | fhicl::ParameterSet const & | pset, |
art::ActivityRegistry & | reg | ||
) |
Definition at line 43 of file PhotonVisibilityService_service.cc.
References reconfigure().
|
static |
Definition at line 327 of file PhotonVisibilityService_service.cc.
References geo::OpDetGeo::DistanceToPoint(), and geo::GeometryCore::OpDetGeoFromOpDet().
float const * phot::PhotonVisibilityService::GetAllVisibilities | ( | double const * | xyz, |
bool | wantReflected = false |
||
) | const |
Definition at line 309 of file PhotonVisibilityService_service.cc.
References fInterpolate, fVoxelDef, GetLibraryEntries(), GetVisibility(), sim::PhotonVoxelDef::GetVoxelID(), and NOpChannels().
Referenced by cosmic::BeamFlashTrackMatchTaggerAlg::AddLightFromSegment(), opdet::FlashHypothesisCreator::CreateFlashHypothesesFromSegment(), larg4::OpFastScintillation::RecordPhotonsProduced(), and opdet::TrackTimeAssoc::ScanMIPHypotheses().
float const * phot::PhotonVisibilityService::GetLibraryEntries | ( | int | VoxID, |
bool | wantReflected = false |
||
) | const |
Definition at line 413 of file PhotonVisibilityService_service.cc.
References fTheLibrary, phot::IPhotonLibrary::GetCounts(), phot::IPhotonLibrary::GetReflCounts(), and LoadLibrary().
Referenced by GetAllVisibilities().
float phot::PhotonVisibilityService::GetLibraryEntry | ( | int | VoxID, |
int | OpChannel, | ||
bool | wantReflected = false |
||
) | const |
Definition at line 426 of file PhotonVisibilityService_service.cc.
References fTheLibrary, phot::IPhotonLibrary::GetCount(), phot::IPhotonLibrary::GetReflCount(), and LoadLibrary().
Referenced by GetVisibility().
float const * phot::PhotonVisibilityService::GetLibraryReflT0Entries | ( | int | VoxID | ) | const |
Definition at line 450 of file PhotonVisibilityService_service.cc.
References fTheLibrary, phot::IPhotonLibrary::GetReflT0s(), and LoadLibrary().
Referenced by GetReflT0s().
float phot::PhotonVisibilityService::GetLibraryReflT0Entry | ( | int | VoxID, |
int | Channel | ||
) | const |
Definition at line 473 of file PhotonVisibilityService_service.cc.
References fTheLibrary, phot::IPhotonLibrary::GetReflT0(), and LoadLibrary().
const std::vector< float > * phot::PhotonVisibilityService::GetLibraryTimingParEntries | ( | int | VoxID | ) | const |
Definition at line 501 of file PhotonVisibilityService_service.cc.
References fTheLibrary, phot::PhotonLibrary::GetTimingPars(), and LoadLibrary().
Referenced by GetTimingPar().
float phot::PhotonVisibilityService::GetLibraryTimingParEntry | ( | int | VoxID, |
int | Channel, | ||
size_t | npar | ||
) | const |
Definition at line 550 of file PhotonVisibilityService_service.cc.
References fTheLibrary, phot::PhotonLibrary::GetTimingPar(), and LoadLibrary().
TF1 * phot::PhotonVisibilityService::GetLibraryTimingTF1Entries | ( | int | VoxID | ) | const |
Definition at line 512 of file PhotonVisibilityService_service.cc.
References fTheLibrary, phot::PhotonLibrary::GetTimingTF1s(), and LoadLibrary().
Referenced by GetTimingTF1().
double phot::PhotonVisibilityService::GetQuenchingFactor | ( | double | dQdx | ) | const |
Definition at line 296 of file PhotonVisibilityService_service.cc.
float const * phot::PhotonVisibilityService::GetReflT0s | ( | double const * | xyz | ) | const |
Definition at line 442 of file PhotonVisibilityService_service.cc.
References fVoxelDef, GetLibraryReflT0Entries(), and sim::PhotonVoxelDef::GetVoxelID().
Referenced by larg4::OpFastScintillation::RecordPhotonsProduced().
const std::vector< float > * phot::PhotonVisibilityService::GetTimingPar | ( | double const * | xyz | ) | const |
Definition at line 486 of file PhotonVisibilityService_service.cc.
References fVoxelDef, GetLibraryTimingParEntries(), and sim::PhotonVoxelDef::GetVoxelID().
TF1 * phot::PhotonVisibilityService::GetTimingTF1 | ( | double const * | xyz | ) | const |
Definition at line 492 of file PhotonVisibilityService_service.cc.
References fVoxelDef, GetLibraryTimingTF1Entries(), and sim::PhotonVoxelDef::GetVoxelID().
Referenced by larg4::OpFastScintillation::RecordPhotonsProduced().
float phot::PhotonVisibilityService::GetVisibility | ( | double const * | xyz, |
unsigned int | OpChannel, | ||
bool | wantReflected = false |
||
) | const |
Definition at line 347 of file PhotonVisibilityService_service.cc.
References fInterpolate, fVoxelDef, GetLibraryEntry(), sim::PhotonVoxelDef::GetNeighboringVoxelIDs(), sim::PhotonVoxelDef::GetVoxelID(), and n.
Referenced by phot::CreateHybridLibrary::CreateHybridLibrary(), and GetAllVisibilities().
|
inline |
Definition at line 78 of file PhotonVisibilityService.h.
References fVoxelDef, and NOpChannels().
Referenced by phot::CreateHybridLibrary::CreateHybridLibrary(), evgen::LightSource::LightSource(), and LoadLibrary().
|
inline |
Definition at line 72 of file PhotonVisibilityService.h.
References fParPropTime.
Referenced by larg4::OpFastScintillation::RecordPhotonsProduced().
|
inline |
Definition at line 76 of file PhotonVisibilityService.h.
References fIncludePropTime.
Referenced by larg4::OpFastScintillation::OpFastScintillation(), and larg4::OpFastScintillation::RecordPhotonsProduced().
|
inline |
Definition at line 68 of file PhotonVisibilityService.h.
References fLibraryBuildJob.
Referenced by opdet::SimPhotonCounter::analyze(), opdet::SimPhotonCounter::endJob(), and evgen::LightSource::produce().
void phot::PhotonVisibilityService::LoadLibrary | ( | ) | const |
Definition at line 73 of file PhotonVisibilityService_service.cc.
References phot::PhotonLibrary::CreateEmptyLibrary(), fDoNotLoadLibrary, fHybrid, fLibraryBuildJob, fLibraryFile, fParameterization, fParPropTime_npar, fStoreReflected, fStoreReflT0, fTheLibrary, sim::PhotonVoxelDef::GetNVoxels(), GetVoxelDef(), phot::PhotonLibrary::LoadLibraryFromFile(), and geo::GeometryCore::NOpDets().
Referenced by GetLibraryEntries(), GetLibraryEntry(), GetLibraryReflT0Entries(), GetLibraryReflT0Entry(), GetLibraryTimingParEntries(), GetLibraryTimingParEntry(), GetLibraryTimingTF1Entries(), NOpChannels(), SetLibraryEntry(), SetLibraryReflT0Entry(), SetLibraryTimingParEntry(), SetLibraryTimingTF1Entry(), and StoreLibrary().
size_t phot::PhotonVisibilityService::NOpChannels | ( | ) | const |
Definition at line 561 of file PhotonVisibilityService_service.cc.
References fTheLibrary, LoadLibrary(), and phot::IPhotonLibrary::NOpChannels().
Referenced by cosmic::BeamFlashTrackMatchTaggerAlg::AddLightFromSegment(), GetAllVisibilities(), GetVoxelDef(), larg4::OpFastScintillation::RecordPhotonsProduced(), and opdet::TrackTimeAssoc::ScanMIPHypotheses().
|
inline |
Definition at line 74 of file PhotonVisibilityService.h.
References fParPropTime_formula.
|
inline |
Definition at line 73 of file PhotonVisibilityService.h.
References fParPropTime_npar.
void phot::PhotonVisibilityService::reconfigure | ( | fhicl::ParameterSet const & | p | ) |
Definition at line 148 of file PhotonVisibilityService_service.cc.
References geo::GeometryCore::CryostatBoundaries(), fD_break, fD_max, fDoNotLoadLibrary, fHybrid, fIncludePropTime, fInterpolate, fLibraryBuildJob, fLibraryFile, fNx, fNy, fNz, fParameterization, fParPropTime, fParPropTime_formula, fParPropTime_npar, fparsCte, fparsCte_far, fparsCte_refl, fparslogNorm, fparslogNorm_far, fparslogNorm_refl, fparsMPV, fparsMPV_far, fparsMPV_refl, fparsSlope, fparsSlope_refl, fparsWidth, fparsWidth_refl, fStoreReflected, fStoreReflT0, fT0_break_point, fT0_max, fTF1_sampling_factor, fUseCryoBoundary, fVoxelDef, fXmax, fXmin, fYmax, fYmin, fZmax, fZmin, and fhicl::ParameterSet::get().
Referenced by PhotonVisibilityService().
void phot::PhotonVisibilityService::RetrieveLightProd | ( | int & | VoxID, |
double & | N | ||
) | const |
Definition at line 386 of file PhotonVisibilityService_service.cc.
References fCurrentValue, and fCurrentVoxel.
Referenced by opdet::SimPhotonCounter::analyze().
void phot::PhotonVisibilityService::SetDirectLightPropFunctions | ( | TF1 const * | functions[8], |
double & | d_break, | ||
double & | d_max, | ||
double & | tf1_sampling_factor | ||
) | const |
Definition at line 570 of file PhotonVisibilityService_service.cc.
References fD_break, fD_max, fparsCte, fparsCte_far, fparslogNorm, fparslogNorm_far, fparsMPV, fparsMPV_far, fparsSlope, fparsWidth, and fTF1_sampling_factor.
Referenced by larg4::OpFastScintillation::OpFastScintillation().
void phot::PhotonVisibilityService::SetLibraryEntry | ( | int | VoxID, |
int | OpChannel, | ||
float | N, | ||
bool | wantReflected = false |
||
) |
Definition at line 394 of file PhotonVisibilityService_service.cc.
References fTheLibrary, LoadLibrary(), LOG_DEBUG, phot::PhotonLibrary::SetCount(), and phot::PhotonLibrary::SetReflCount().
Referenced by opdet::SimPhotonCounter::analyze().
void phot::PhotonVisibilityService::SetLibraryReflT0Entry | ( | int | VoxID, |
int | OpChannel, | ||
float | value | ||
) |
Definition at line 460 of file PhotonVisibilityService_service.cc.
References fTheLibrary, LoadLibrary(), LOG_DEBUG, and phot::PhotonLibrary::SetReflT0().
Referenced by opdet::SimPhotonCounter::analyze().
void phot::PhotonVisibilityService::SetLibraryTimingParEntry | ( | int | VoxID, |
int | OpChannel, | ||
float | value, | ||
size_t | parnum | ||
) |
Definition at line 523 of file PhotonVisibilityService_service.cc.
References fTheLibrary, LoadLibrary(), LOG_DEBUG, and phot::PhotonLibrary::SetTimingPar().
void phot::PhotonVisibilityService::SetLibraryTimingTF1Entry | ( | int | VoxID, |
int | OpChannel, | ||
TF1 | func | ||
) |
Definition at line 536 of file PhotonVisibilityService_service.cc.
References fTheLibrary, LoadLibrary(), LOG_DEBUG, and phot::PhotonLibrary::SetTimingTF1().
void phot::PhotonVisibilityService::SetReflectedCOLightPropFunctions | ( | TF1 const * | functions[5], |
double & | t0_max, | ||
double & | t0_break_point | ||
) | const |
Definition at line 587 of file PhotonVisibilityService_service.cc.
References DEFINE_ART_SERVICE, fparsCte_refl, fparslogNorm_refl, fparsMPV_refl, fparsSlope_refl, fparsWidth_refl, fT0_break_point, and fT0_max.
Referenced by larg4::OpFastScintillation::OpFastScintillation().
|
static |
Definition at line 339 of file PhotonVisibilityService_service.cc.
References geo::OpDetGeo::CosThetaFromNormal(), and geo::GeometryCore::OpDetGeoFromOpDet().
void phot::PhotonVisibilityService::StoreLibrary | ( | ) |
Definition at line 128 of file PhotonVisibilityService_service.cc.
References fHybrid, fLibraryBuildJob, fLibraryFile, fParPropTime_npar, fStoreReflected, fStoreReflT0, fTheLibrary, LoadLibrary(), and phot::PhotonLibrary::StoreLibraryToFile().
Referenced by opdet::SimPhotonCounter::endJob().
void phot::PhotonVisibilityService::StoreLightProd | ( | int | VoxID, |
double | N | ||
) |
Definition at line 375 of file PhotonVisibilityService_service.cc.
References fCurrentValue, and fCurrentVoxel.
Referenced by evgen::LightSource::produce().
|
inline |
Definition at line 70 of file PhotonVisibilityService.h.
References fStoreReflected.
Referenced by opdet::SimPhotonCounter::analyze(), opdet::SimPhotonCounter::beginJob(), and larg4::OpFastScintillation::RecordPhotonsProduced().
|
inline |
Definition at line 71 of file PhotonVisibilityService.h.
References fStoreReflT0.
Referenced by opdet::SimPhotonCounter::analyze(), and larg4::OpFastScintillation::RecordPhotonsProduced().
|
inline |
Definition at line 69 of file PhotonVisibilityService.h.
References fParameterization.
|
private |
Definition at line 84 of file PhotonVisibilityService.h.
Referenced by RetrieveLightProd(), and StoreLightProd().
|
private |
Definition at line 83 of file PhotonVisibilityService.h.
Referenced by RetrieveLightProd(), and StoreLightProd().
|
private |
Definition at line 117 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 117 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 96 of file PhotonVisibilityService.h.
Referenced by LoadLibrary(), and reconfigure().
|
private |
Definition at line 98 of file PhotonVisibilityService.h.
Referenced by LoadLibrary(), reconfigure(), and StoreLibrary().
|
private |
Definition at line 101 of file PhotonVisibilityService.h.
Referenced by IncludePropTime(), and reconfigure().
|
private |
Definition at line 107 of file PhotonVisibilityService.h.
Referenced by GetAllVisibilities(), GetVisibility(), and reconfigure().
|
private |
Definition at line 95 of file PhotonVisibilityService.h.
Referenced by IsBuildJob(), LoadLibrary(), reconfigure(), and StoreLibrary().
|
private |
Definition at line 125 of file PhotonVisibilityService.h.
Referenced by LoadLibrary(), reconfigure(), and StoreLibrary().
|
private |
Definition at line 91 of file PhotonVisibilityService.h.
Referenced by reconfigure().
|
private |
Definition at line 91 of file PhotonVisibilityService.h.
Referenced by reconfigure().
|
private |
Definition at line 91 of file PhotonVisibilityService.h.
Referenced by reconfigure().
|
private |
Definition at line 97 of file PhotonVisibilityService.h.
Referenced by LoadLibrary(), reconfigure(), and UseParameterization().
|
private |
Definition at line 103 of file PhotonVisibilityService.h.
Referenced by IncludeParPropTime(), and reconfigure().
|
private |
Definition at line 105 of file PhotonVisibilityService.h.
Referenced by ParPropTimeFormula(), and reconfigure().
|
private |
Definition at line 104 of file PhotonVisibilityService.h.
Referenced by LoadLibrary(), ParPropTimeNpar(), reconfigure(), and StoreLibrary().
|
private |
Definition at line 114 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 115 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 121 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetReflectedCOLightPropFunctions().
|
private |
Definition at line 109 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 110 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 118 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetReflectedCOLightPropFunctions().
|
private |
Definition at line 111 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 112 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 119 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetReflectedCOLightPropFunctions().
|
private |
Definition at line 116 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 122 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetReflectedCOLightPropFunctions().
|
private |
Definition at line 113 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
private |
Definition at line 120 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetReflectedCOLightPropFunctions().
|
private |
Definition at line 99 of file PhotonVisibilityService.h.
Referenced by LoadLibrary(), reconfigure(), StoreLibrary(), and StoreReflected().
|
private |
Definition at line 100 of file PhotonVisibilityService.h.
Referenced by LoadLibrary(), reconfigure(), StoreLibrary(), and StoreReflT0().
|
private |
Definition at line 123 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetReflectedCOLightPropFunctions().
|
private |
Definition at line 123 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetReflectedCOLightPropFunctions().
|
private |
Definition at line 117 of file PhotonVisibilityService.h.
Referenced by reconfigure(), and SetDirectLightPropFunctions().
|
mutableprivate |
Definition at line 126 of file PhotonVisibilityService.h.
Referenced by GetLibraryEntries(), GetLibraryEntry(), GetLibraryReflT0Entries(), GetLibraryReflT0Entry(), GetLibraryTimingParEntries(), GetLibraryTimingParEntry(), GetLibraryTimingTF1Entries(), LoadLibrary(), NOpChannels(), SetLibraryEntry(), SetLibraryReflT0Entry(), SetLibraryTimingParEntry(), SetLibraryTimingTF1Entry(), and StoreLibrary().
|
private |
Definition at line 93 of file PhotonVisibilityService.h.
Referenced by reconfigure().
|
private |
Definition at line 127 of file PhotonVisibilityService.h.
Referenced by GetAllVisibilities(), GetReflT0s(), GetTimingPar(), GetTimingTF1(), GetVisibility(), GetVoxelDef(), and reconfigure().
|
private |
Definition at line 88 of file PhotonVisibilityService.h.
Referenced by reconfigure().
|
private |
Definition at line 88 of file PhotonVisibilityService.h.
Referenced by reconfigure().
|
private |
Definition at line 89 of file PhotonVisibilityService.h.
Referenced by reconfigure().
|
private |
Definition at line 89 of file PhotonVisibilityService.h.
Referenced by reconfigure().
|
private |
Definition at line 90 of file PhotonVisibilityService.h.
Referenced by reconfigure().
|
private |
Definition at line 90 of file PhotonVisibilityService.h.
Referenced by reconfigure().