Optical mdet::Fiber used to conect mdet::Scintillator to mdet::Pixel. More...
#include "mdet/Fiber.h"
Public Member Functions | |
AddIdMessage (o) | |
double | ComputeDecayDelay () const |
Computes a delay due to decay process. More... | |
unsigned int | ComputeSPENumber (double x, double l, double e) const |
Computes a number of SPE given the impinging distance, the length of the track and the energy of the incoming particle. More... | |
double | GetDecayDelayMean () const |
The mean value of the delay time. More... | |
double | GetDecayDelayStdDev () const |
The standard deviation fo the delay time. More... | |
int | GetId () const |
The id of this component. More... | |
const VManager::IndexMap & | GetIdsMap () const |
The id identifying this component within its detector hierarhy. More... | |
utl::CoordinateSystemPtr | GetLocalCoordinateSystem () const |
Local system based on position and configured rotations. More... | |
const Module & | GetModule () const |
Retrieve the parent mdet::Module. More... | |
double | GetNumericalAperture () const |
The numerical aperture of the fiber. More... | |
double | GetOnManifoldLength () const |
The length of the fiber along the path that joins the scintillator to its pixel on the PMT. More... | |
utl::Point | GetPosition () const |
double | GetRefractionIndex () const |
The refraction (or refractive) index of the fiber. More... | |
return o | str () |
Geometrical body-like interface. | |
Currently the fibers are cylinders; it was considered also the usage of square fibers and also the usage of progressive fibers (that's different radius fibers coupled together) This methods are meant to hide the actual shape but providing the neccessary information.
| |
template<class V > | |
V & | VisitShape (V &v) const |
Callback method to query shape specific properties. More... | |
Public Attributes | |
std::string | const |
Returns the message that identifies this component. More... | |
const DetectorUserData< C > & | const |
Retrieve the user custom data. More... | |
Static Public Attributes | |
static const char *const | kComponentId = MHierarchyInfo::kComponentsIds[4] |
static const char *const | kComponentName = MHierarchyInfo::kComponentsNames[4] |
Protected Types | |
typedef std::string | CoordinateType |
Simple internal typedef to emulate the actual enumeration via a type handled in the configuration mechanism. More... | |
Protected Member Functions | |
template<typename T , template< typename > class P> | |
T & | GetData (P< T > &d, const std::string &p) const |
Common utility function for configuration. More... | |
template<typename T > | |
T & | GetData (T &d, const std::string &p) const |
Common utility function for configuration. More... | |
void | Register (utl::VValidated &v) |
Register the field so as to allow handling it. More... | |
s<< " ]";}DetectorComponent(int i, const VManager::IndexMap &parentMap):fId(i), fIdsMap(parentMap){Init();}DetectorComponent(const int i):fId(i){Init();}virtual ~DetectorComponent(){}virtual void Update(const bool invalidateData, const bool){for(FieldsContainer::iterator i=fFields.begin(), e=fFields.end();i!=e;++i)(*i) -> | SetValid (false) |
Specific datum accesor components. | |
In the most commeon situation deriving clases won't override these methods (and so the actual retrieval will be forwarded to the expected method in the Config template argument. Nevertheless they are made virtual in order to allow posible customization by subclasses. This customization could be done in principle in the Get method, basing the decision on the tag, but that would be pretty ugly. | |
virtual double | GetComponent1 () const |
First component of the position vector. More... | |
virtual double | GetComponent2 () const |
Second component of the position vector. More... | |
virtual double | GetComponent3 () const |
Third component of the position vector. More... | |
virtual double | GetEulerPhi () const |
First Euler angle for rotation over (original) z. More... | |
virtual double | GetEulerTheta () const |
Second Euler angle for rotation over (intermediate) x. More... | |
virtual double | GetEulerPsi () const |
Third Euler angle for rotation over (intermediate) z. More... | |
virtual CoordinateType | GetCoordinateType () const |
Coordinate type. More... | |
Protected Attributes | |
template<typename T1 , typename T2 , template< typename, typename > class P> | |
T1 & | const |
Doubly-templated variation of common utility. More... | |
template<typename T > | |
T & | const |
Specialization for utl::Validated. More... | |
void | const |
Message that identifies the component. More... | |
s<< "id="<< GetId()<< " [";for(It i=GetIdsMap().begin(), e=GetIdsMap().end();i!=e;++i) s<< " "<< i-> first<< "="<< i-> | second |
Static Protected Attributes | |
static const std::string | kComponent1Tag = "positionComponent1" |
Tag for first vector component in config. More... | |
static const std::string | kComponent2Tag = "positionComponent2" |
Tag for second vector component in config. More... | |
static const std::string | kComponent3Tag = "positionComponent3" |
Tag for third vector component in config. More... | |
static const std::string | kCoordinateTypeTag = "coordinateType" |
static const std::string | kEulerPhiTag = "eulerPhi" |
Tag for first rotation's Euler angle in config. More... | |
static const std::string | kEulerPsiTag = "eulerPsi" |
Tag for third rotation's Euler angle in config. More... | |
static const std::string | kEulerThetaTag = "eulerTheta" |
Tag for second rotation's Euler angle in config. More... | |
Private Types | |
typedef std::string | AttenuationReferenceForConfig |
Alias for a type considered within the config hierarchy, to be converted to the actual enum. More... | |
Private Member Functions | |
Fiber (int fId, const det::VManager::IndexMap &parentMap, const Module &parent) | |
Constructs the Fiber (obviously!). More... | |
double | GetDecayTime () const |
The characteristic decay time of the fiber. More... | |
double | GetOnScintillatorLength () const |
The length of the fiber along its scintillator. More... | |
double | GetRadius () const |
The radius of the fiber. More... | |
utl::CoordinateSystemPtr | GetReferenceCoordinateSystem () const |
The reference is the local coordinate system of mdet::Scintillator. More... | |
~Fiber () | |
Private Attributes | |
utl::Validated< double > | fAttenuationAmplitudeA |
utl::Validated< double > | fAttenuationAmplitudeASiPM |
utl::Validated< double > | fAttenuationAmplitudeB |
utl::Validated< double > | fAttenuationAmplitudeBSiPM |
utl::Validated< double > | fAttenuationLengthA |
utl::Validated< double > | fAttenuationLengthASiPM |
utl::Validated< double > | fAttenuationLengthB |
utl::Validated< double > | fAttenuationLengthBSiPM |
utl::Validated < AttenuationReferenceForConfig > | fAttenuationReference |
utl::Validated< double > | fAttenuationReferenceEnergy |
utl::Validated< double > | fAttenuationReferenceThickness |
utl::Validated< double > | fDecayTime |
const Module & | fModule |
utl::Validated< double > | fNumericalAperture |
utl::Validated< double > | fOnManifoldLength |
utl::Validated< double > | fOnScintillatorLength |
utl::Validated< double > | fRadius |
utl::Validated< double > | fRefractionIndex |
Friends | |
template<class T > | |
void | boost::checked_delete (T *) BOOST_NOEXCEPT |
Friendship for destruction. More... | |
struct | det::ComponentUpdater |
See mdet::Counter. More... | |
class | det::MPositionable< Fiber > |
Frienship for GetData callback. More... | |
struct | det::ParentCreator |
Friendship to allow creation (or call it construction). More... | |
Optical mdet::Fiber used to conect mdet::Scintillator to mdet::Pixel.
This class represents the optical fibers that collect light from within the scintillators and take it to each of the pixels at the photo-multiplier tube.
Since the fibers are glued into the mdet::Scintillators it can be thought to make a single object joining together both. On the other hand the fibers are bodies that have a position and shape on theirs own: for instance if together that would lead, likely, to have (at least indirectly) properties like "fiberRadius" to make it clear that it refers to the radius of the fiber in opposition to that (non-existant) of the Scintillator. Aditionally, both have in common some properties like decay times, so again it would be needed to distinguish to which decay one would be talking about. Also, something like that coud be said about stations (surface tanks) and PMT: instead of being glued they are drilled; nevertheless they are separate classes. Also, having separate objects doesn't enforce a one-to-one relationship and there's also a relationship with the pixels. So it seems better to decouple the Scintillator from the Fiber and to have the fibers contained at mdet::Module level.
|
private |
|
protectedinherited |
Simple internal typedef to emulate the actual enumeration via a type handled in the configuration mechanism.
Definition at line 157 of file MPositionable.h.
|
private |
|
private |
Constructs the Fiber (obviously!).
fId | The identifier to be used. |
parentMap | The identifiers of the parent within the hierarchy. |
parent | The parent mdet::Module. |
A reference to the parent is kept in this class and part of the construction is delegated to the first super-class.
|
inherited |
double mdet::Fiber::ComputeDecayDelay | ( | ) | const |
Computes a delay due to decay process.
Definition at line 116 of file Fiber.cc.
References fwk::RandomEngineRegistry::eDetector, GetDecayTime(), and utl::RandomEngine::GetEngine().
Referenced by G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
unsigned int mdet::Fiber::ComputeSPENumber | ( | double | x, |
double | l, | ||
double | e | ||
) | const |
Computes a number of SPE given the impinging distance, the length of the track and the energy of the incoming particle.
Definition at line 227 of file Fiber.cc.
References fwk::RandomEngineRegistry::eDetector, eEnergy, eThickness, GetAttenuationAmplitudeA(), GetAttenuationAmplitudeASiPM(), GetAttenuationAmplitudeB(), GetAttenuationAmplitudeBSiPM(), GetAttenuationLengthA(), GetAttenuationLengthASiPM(), GetAttenuationLengthB(), GetAttenuationLengthBSiPM(), GetAttenuationReference(), GetAttenuationReferenceEnergy(), GetAttenuationReferenceThickness(), utl::RandomEngine::GetEngine(), and GetModule().
Referenced by G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
private |
Definition at line 158 of file Fiber.cc.
References fAttenuationAmplitudeA, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Definition at line 186 of file Fiber.cc.
References fAttenuationAmplitudeASiPM, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Definition at line 165 of file Fiber.cc.
References fAttenuationAmplitudeB, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Definition at line 193 of file Fiber.cc.
References fAttenuationAmplitudeBSiPM, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Definition at line 144 of file Fiber.cc.
References fAttenuationLengthA, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Definition at line 172 of file Fiber.cc.
References fAttenuationLengthASiPM, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Definition at line 151 of file Fiber.cc.
References fAttenuationLengthB, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Definition at line 179 of file Fiber.cc.
References fAttenuationLengthBSiPM, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Return the type of refrence to use.
Definition at line 220 of file Fiber.cc.
References utl::ConsecutiveEnumFactory< EnumType, last, tags, NoConversionPolicy, first >::Create(), fAttenuationReference, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Definition at line 207 of file Fiber.cc.
References fAttenuationReferenceEnergy, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
private |
Definition at line 200 of file Fiber.cc.
References fAttenuationReferenceThickness, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeSPENumber().
|
protectedvirtualinherited |
First component of the position vector.
It could be x or r, according to the type determined by GetCoordinateType.
Definition at line 304 of file MPositionable.h.
|
protectedvirtualinherited |
Second component of the position vector.
Definition at line 313 of file MPositionable.h.
|
protectedvirtualinherited |
Third component of the position vector.
Definition at line 317 of file MPositionable.h.
|
protectedvirtualinherited |
Coordinate type.
Definition at line 333 of file MPositionable.h.
|
inlineprotectedinherited |
Common utility function for configuration.
Retrieves data from the provided (via this class' template parameter) Manager instance and goes on with initialization.
d | An object of type P<T> wrapping the real of type T. |
p | Property name. The template class P must provide:
|
This is fullfilled by, for instance, utl::ShadowPtr as P and built-in types for T.
Definition at line 191 of file DetectorComponent.h.
References det::DetectorComponent< C, ManagerProvider >::d, and G4StationSimulatorOG::p.
Referenced by mdet::Channel::GetAbsoluteError(), mdet::BackEndSiPM::GetADCOffset(), mdet::BackEndSiPM::GetADCPar1(), mdet::BackEndSiPM::GetADCPar2(), mdet::BackEndSiPM::GetADCPar3(), mdet::BackEndSiPM::GetADCPar4(), mdet::BackEndSiPM::GetADCPar5(), mdet::BackEndSiPM::GetADCPar6(), mdet::BackEndSiPM::GetADCSaturationDown(), mdet::BackEndSiPM::GetADCSaturationUp(), mdet::Module::GetAreaKind(), mdet::Counter::GetAssociatedTankId(), GetAttenuationAmplitudeA(), GetAttenuationAmplitudeASiPM(), GetAttenuationAmplitudeB(), GetAttenuationAmplitudeBSiPM(), GetAttenuationLengthA(), GetAttenuationLengthASiPM(), GetAttenuationLengthB(), GetAttenuationLengthBSiPM(), GetAttenuationReference(), GetAttenuationReferenceEnergy(), GetAttenuationReferenceThickness(), mdet::Module::GetBackgroundMuonsFlux(), mdet::FrontEndSiPM::GetBaseLineFluctuationHG(), mdet::FrontEndSiPM::GetBaseLineFluctuationLG(), mdet::Channel::GetDCGain(), GetDecayTime(), mdet::Scintillator::GetDecayTime(), mdet::FrontEndSiPM::GetDelayBinaryADCMean(), mdet::FrontEndSiPM::GetDelayBinaryADCSigma(), mdet::FrontEndSiPM::GetDigitalBackGroundProbability(), mdet::FrontEndSiPM::GetDigitalBackGroundWidthMean(), mdet::FrontEndSiPM::GetDigitalBackGroundWidthStdDev(), mdet::ChannelSiPM::GetDiscriminatorGain(), mdet::ChannelSiPM::GetDiscriminatorHiLevel(), mdet::Channel::GetDiscriminatorHiLevel(), mdet::ChannelSiPM::GetDiscriminatorLowLevel(), mdet::Channel::GetDiscriminatorLowLevel(), mdet::ChannelSiPM::GetDiscriminatorThreshold(), mdet::ChannelSiPM::GetDiscriminatorTransitionTime(), mdet::Scintillator::GetEpsilon(), mdet::FrontEnd::GetFalseRangeHiThreshold(), mdet::FrontEndSiPM::GetFalseRangeHiThreshold(), mdet::ChannelSiPM::GetFastShaperGain(), mdet::ChannelSiPM::GetFastShaperTime(), mdet::Channel::GetFeedbackResistance(), mdet::BackEndSiPM::GetFirstAdderOffset(), mdet::BackEndSiPM::GetFirstAdderPar1(), mdet::BackEndSiPM::GetFirstAdderPar2(), mdet::BackEndSiPM::GetFirstAdderPar3(), mdet::BackEndSiPM::GetFirstAdderPar4(), mdet::BackEndSiPM::GetFirstAdderPar5(), mdet::BackEndSiPM::GetFirstAdderSaturationDown(), mdet::BackEndSiPM::GetFirstAdderSaturationUp(), mdet::Scintillator::GetHeight(), mdet::Channel::GetHighCutoffFrequency(), mdet::BackEndSiPM::GetHighGainAmplifierAdjustmentFactor(), mdet::BackEndSiPM::GetHighGainAmplifierOffset(), mdet::BackEndSiPM::GetHighGainAmplifierPar1(), mdet::BackEndSiPM::GetHighGainAmplifierPar2(), mdet::BackEndSiPM::GetHighGainAmplifierPar3(), mdet::BackEndSiPM::GetHighGainAmplifierPar4(), mdet::BackEndSiPM::GetHighGainAmplifierPar5(), mdet::BackEndSiPM::GetHighGainAmplifierPar6(), mdet::BackEndSiPM::GetHighGainAmplifierPar7(), mdet::BackEndSiPM::GetHighGainAmplifierPar8(), mdet::BackEndSiPM::GetHighGainAmplifierPar9(), mdet::BackEndSiPM::GetHighGainAmplifierSaturationDown(), mdet::BackEndSiPM::GetHighGainAmplifierSaturationUp(), mdet::Channel::GetInitialIntervalLength(), mdet::Channel::GetInvertingInputResistance(), mdet::Channel::GetIterationsNumber(), mdet::Scintillator::GetLength(), mdet::Scintillator::GetLocalSoilDensity(), mdet::Channel::GetLowCutoffFrequency(), mdet::BackEndSiPM::GetLowGainAmplifierAdjustmentFactor(), mdet::BackEndSiPM::GetLowGainAmplifierOffset(), mdet::BackEndSiPM::GetLowGainAmplifierPar1(), mdet::BackEndSiPM::GetLowGainAmplifierPar2(), mdet::BackEndSiPM::GetLowGainAmplifierPar3(), mdet::BackEndSiPM::GetLowGainAmplifierPar4(), mdet::BackEndSiPM::GetLowGainAmplifierPar5(), mdet::BackEndSiPM::GetLowGainAmplifierPar6(), mdet::BackEndSiPM::GetLowGainAmplifierPar7(), mdet::BackEndSiPM::GetLowGainAmplifierPar8(), mdet::BackEndSiPM::GetLowGainAmplifierPar9(), mdet::BackEndSiPM::GetLowGainAmplifierSaturationDown(), mdet::BackEndSiPM::GetLowGainAmplifierSaturationUp(), mdet::Channel::GetMaxNumberOfErrors(), mdet::FrontEnd::GetMeanSampleRatePeriod(), mdet::FrontEndSiPM::GetMeanSampleRatePeriod(), mdet::BackEndSiPM::GetNumberOfChannelsToGroup(), GetNumericalAperture(), GetOnManifoldLength(), mdet::Module::GetPhotoDetector(), mdet::FrontEndSiPM::GetPostT1BufferLength(), mdet::FrontEnd::GetPostT1BufferLength(), mdet::ChannelSiPM::GetPreAmplifierGain(), mdet::ChannelSiPM::GetPreAmplifierTime(), mdet::FrontEndSiPM::GetPreT1BufferLength(), mdet::FrontEnd::GetPreT1BufferLength(), mdet::SiPM::GetPulseAmplitude1Mean(), mdet::SiPM::GetPulseAmplitude1StdDev(), mdet::SiPM::GetPulseAmplitude2Mean(), mdet::SiPM::GetPulseAmplitude2StdDev(), mdet::SiPM::GetPulseAmplitude3Mean(), mdet::SiPM::GetPulseAmplitude3StdDev(), mdet::Pixel::GetPulseAmplitudeMean(), mdet::Pixel::GetPulseAmplitudeStdDev(), mdet::Pixel::GetPulseChargeMean(), mdet::Pixel::GetPulseChargeStdDev(), mdet::Pixel::GetPulseParametersCorrelation(), mdet::Pixel::GetPulseParametrization(), mdet::SiPM::GetPulseRelevantWidth(), mdet::Pixel::GetPulseRelevantWidth(), mdet::Pixel::GetPulseStdDevMean(), mdet::Pixel::GetPulseStdDevStdDev(), mdet::SiPM::GetPulseTime1Mean(), mdet::SiPM::GetPulseTime1StdDev(), mdet::SiPM::GetPulseTime2Mean(), mdet::SiPM::GetPulseTime2StdDev(), mdet::SiPM::GetPulseTime3Mean(), mdet::SiPM::GetPulseTime3StdDev(), mdet::SiPM::GetPulseTime4Mean(), mdet::SiPM::GetPulseTime4StdDev(), GetRadius(), GetRefractionIndex(), mdet::Channel::GetResponseTime(), mdet::FrontEnd::GetSampleRatePeriodJitter(), mdet::FrontEndSiPM::GetSampleTimeADC(), mdet::BackEndSiPM::GetSecondAdderOffset(), mdet::BackEndSiPM::GetSecondAdderPar1(), mdet::BackEndSiPM::GetSecondAdderPar2(), mdet::BackEndSiPM::GetSecondAdderPar3(), mdet::BackEndSiPM::GetSecondAdderPar4(), mdet::BackEndSiPM::GetSecondAdderPar5(), mdet::BackEndSiPM::GetSecondAdderSaturationDown(), mdet::BackEndSiPM::GetSecondAdderSaturationUp(), mdet::Channel::GetSignalShiftMean(), mdet::Channel::GetSignalShiftStdDev(), mdet::BackEndSiPM::GetSimplifiedGainHG(), mdet::BackEndSiPM::GetSimplifiedGainLG(), mdet::BackEndSiPM::GetSimplifiedTime(), mdet::Channel::GetSlewRate(), mdet::FrontEndSiPM::GetStepADC(), mdet::Channel::GetThreshold(), mdet::FrontEnd::GetTrueRangeLowThreshold(), mdet::FrontEndSiPM::GetTrueRangeLowThreshold(), and mdet::Scintillator::GetWidth().
|
inlineprotectedinherited |
Common utility function for configuration.
Overload without wrapping parameter: directly gets the datum as parameter. Typically invoked with T equal to a primitive type (int, double, so on).
Definition at line 232 of file DetectorComponent.h.
double mdet::Fiber::GetDecayDelayMean | ( | ) | const |
The mean value of the delay time.
This method is provided for completeness, so as to allow the user to query the particular mean value.
For the computation of an specific value the user has to call the "Compute", which will give a value acording the actual distribution followed by the processes involved.
Definition at line 128 of file Fiber.cc.
References GetDecayTime().
Referenced by GetDecayDelayStdDev().
double mdet::Fiber::GetDecayDelayStdDev | ( | ) | const |
The standard deviation fo the delay time.
Definition at line 136 of file Fiber.cc.
References GetDecayDelayMean().
|
private |
The characteristic decay time of the fiber.
Definition at line 109 of file Fiber.cc.
References fDecayTime, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by ComputeDecayDelay(), and GetDecayDelayMean().
|
protectedvirtualinherited |
First Euler angle for rotation over (original) z.
Definition at line 321 of file MPositionable.h.
Referenced by mdet::Module::GetPhi0().
|
protectedvirtualinherited |
Third Euler angle for rotation over (intermediate) z.
Definition at line 329 of file MPositionable.h.
|
protectedvirtualinherited |
Second Euler angle for rotation over (intermediate) x.
Definition at line 325 of file MPositionable.h.
|
inlineinherited |
The id of this component.
Definition at line 105 of file DetectorComponent.h.
References det::DetectorComponent< C, ManagerProvider >::fId.
Referenced by G4StationSimulatorOG::G4StationConstruction::AssembleUMD(), MuonCounterViewerAG::ScintBuilder::Box(), MdLDFFinderAG::Likelihood2::CalculateCandidateLikelihood(), MdLDFFinderAG::Likelihood3::CalculateCandidateLikelihood(), MdLDFFinderAG::Likelihood::CalculateCandidateLikelihood(), MdLDFFinderAG::MdLDFFinder::CalculateChi2(), MdLDFFinderAG::MdLDFFinder::FillModulesShowerPlaneDistances(), EdepSimulatorAG::PrimaryGenerator::GeneratePrimaries(), mdet::PMT::GetCrossTalk(), det::DetectorComponent< C, ManagerProvider >::Init(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::OptoElectronics(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::PlotChannel(), MdCounterSimulatorAG::MdCounterSimulator::PlotChannel(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::PlotIntegrator(), MdCounterSimulatorAG::MdCounterSimulator::PlotIntegrator(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::ProcessPulses(), MdCounterSimulatorAG::MdCounterSimulator::ProcessPulses(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::ProcessPulsesIntegrator(), MdCounterSimulatorAG::MdCounterSimulator::ProcessPulsesIntegrator(), MdEventSelectorAG::MdEventSelector::RejectTimeOutliers(), EdepSimulatorAG::EdepSimulator::Run(), MuonCounterViewerAG::MuonCounterViewer::Run(), MdCounterSimulatorAG::MdCounterSimulator::RunFromMEventScintillatorSimulated(), MdLDFFinderAG::MdLDFFinder::SetLdfResiduals(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::SimulateElectronics(), MdCounterSimulatorAG::MdCounterSimulator::SimulateElectronics(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
inlineinherited |
The id identifying this component within its detector hierarhy.
Definition at line 111 of file DetectorComponent.h.
References det::DetectorComponent< C, ManagerProvider >::fIdsMap.
Referenced by mdet::Counter::GetModules(), mdet::Module::Module(), mdet::PMT::PMT(), mdet::SiPMArray::Update(), mdet::FrontEnd::Update(), mdet::FrontEndSiPM::Update(), mdet::PMT::Update(), and mdet::Module::Update().
|
inherited |
Local system based on position and configured rotations.
Definition at line 342 of file MPositionable.h.
References utl::TransformerConstructor< Policy >::RotationX(), utl::TransformerConstructor< Policy >::RotationZ(), and utl::TransformerConstructor< Policy >::Translation().
Referenced by otoa::MD2ADST::AddParticle(), G4StationSimulatorOG::G4StationConstruction::AssembleUMD(), EdepSimulatorAG::PrimaryGenerator::GeneratePrimaries(), GroundPropagatorAG::PrimaryGenerator::GeneratePrimaries(), GetReferenceCoordinateSystem(), mdet::Scintillator::GetReferenceCoordinateSystem(), mdet::Module::GetReferenceCoordinateSystem(), G4XTankSimulatorAG::G4XTankSimulator::Init(), otoa::MD2ADST::MakeSimCounter(), G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits(), UnderGrdInjectorAG::UnderGrdInjector::Run(), GroundPropagatorAG::GroundPropagator::Run(), EdepSimulatorAG::EdepSimulator::Run(), MuonCounterViewerAG::MuonCounterViewer::Run(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
Retrieve the parent mdet::Module.
Definition at line 144 of file Fiber.h.
References fModule.
Referenced by ComputeSPENumber(), GetOnScintillatorLength(), and GetReferenceCoordinateSystem().
double mdet::Fiber::GetNumericalAperture | ( | ) | const |
The numerical aperture of the fiber.
Definition at line 95 of file Fiber.cc.
References fRadius, and det::DetectorComponent< C, ManagerProvider >::GetData().
double mdet::Fiber::GetOnManifoldLength | ( | ) | const |
The length of the fiber along the path that joins the scintillator to its pixel on the PMT.
Note that this path isn't neccesarily straight.
The fiber is composed of two parts, one over the scintillator and a part that connects with the PMT.
Definition at line 65 of file Fiber.cc.
References fOnManifoldLength, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by G4StationSimulatorOG::G4StationConstruction::AssembleUMD(), G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
private |
The length of the fiber along its scintillator.
Definition at line 72 of file Fiber.cc.
References GetModule(), mdet::Module::GetScintillatorFor(), utl::s, and mdet::Scintillator::VisitShape().
Referenced by VisitShape().
|
inherited |
This object position, based the configured components and the reference coordinate system. The return type is by-copy as of the general recommendation due to Bugzilla's report #307. Also this topic was referred by in 'Point copy vs reference, GetPosition and report #307.', see auger-offline-devel archives for January 2009.
Definition at line 337 of file MPositionable.h.
Referenced by G4StationSimulatorOG::G4StationConstruction::AssembleUMD(), MdLDFFinderAG::Likelihood2::CalculateCandidateLikelihood(), MdLDFFinderAG::Likelihood3::CalculateCandidateLikelihood(), MdLDFFinderAG::Likelihood::CalculateCandidateLikelihood(), MdLDFFinderAG::MdLDFFinder::CalculateChi2(), MdLDFFinderAG::VMinMethodFunctor::CalculateSilentLikelihood(), MdMuonCounterAG::MdMuonCounter::ComputeSignalT50(), otoa::Detector2ADST::FillDetector(), MdLDFFinderAG::MdLDFFinder::FillModulesShowerPlaneDistances(), EdepSimulatorAG::PrimaryGenerator::GeneratePrimaries(), GroundPropagatorAG::PrimaryGenerator::GeneratePrimaries(), mdet::Module::GetDepth(), G4XTankSimulatorAG::G4XTankSimulator::Init(), UniversalityFitter::UniversalityFitter::InitBarilocheReconstruction(), otoa::MD2ADST::MakeModule(), MuonCounterViewerAG::MuonCounterViewer::Run(), MdLDFFinderAG::MdLDFFinder::SetLdfResiduals(), MdGeometryFitterAG::MdGeometryFitter::SetTimeData(), and MDetectorTest::testBasic().
|
private |
The radius of the fiber.
Definition at line 88 of file Fiber.cc.
References fRadius, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by VisitShape().
|
privatevirtual |
The reference is the local coordinate system of mdet::Scintillator.
Implements det::MPositionable< Config >.
Definition at line 57 of file Fiber.cc.
References det::MPositionable< Config >::GetLocalCoordinateSystem(), GetModule(), and mdet::Module::GetScintillatorFor().
double mdet::Fiber::GetRefractionIndex | ( | ) | const |
The refraction (or refractive) index of the fiber.
Definition at line 102 of file Fiber.cc.
References fRefractionIndex, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
inlineprotectedinherited |
Register the field so as to allow handling it.
Definition at line 298 of file DetectorComponent.h.
References det::DetectorComponent< C, ManagerProvider >::fFields.
Referenced by mdet::ChannelSiPM::ChannelSiPM(), mdet::Counter::Counter(), mdet::Module::Module(), and mdet::Scintillator::Scintillator().
|
protectedinherited |
|
inherited |
Callback method to query shape specific properties.
Definition at line 89 of file Fiber.h.
References GetOnScintillatorLength(), and GetRadius().
Referenced by G4StationSimulatorOG::G4StationConstruction::SetUMDParameters().
|
friend |
Friendship for destruction.
Depends on det::ComponentGroup innards.
|
friend |
See mdet::Counter.
|
friend |
|
friend |
|
friend |
|
inherited |
Returns the message that identifies this component.
To make unambiguous the call in the wrapped version.
This method is just a convenience informative method, not meant to be used for control-flow logic (please do not parse this!).
In the wrapped version, when wrapped type is itself a wrapping template, the compiler has a hard time to decide what to do. So this function was created with the logic formerly contained in the non-wrapped version.
Related to this, see http://www.gotw.ca/publications/mill17.htm.
Definition at line 125 of file DetectorComponent.h.
|
inherited |
Retrieve the user custom data.
Definition at line 137 of file DetectorComponent.h.
|
protectedinherited |
Doubly-templated variation of common utility.
Needed to be added in response to the addition of a 2nd policy parameter to utl::ShadowPtr.
Definition at line 203 of file DetectorComponent.h.
|
protectedinherited |
Specialization for utl::Validated.
To make unambiguous the call in the wrapped version.
In the wrapped version, when wrapped type is itself a wrapping template, the compiler has a hard time to decide what to do. So this function was created with the logic formerly contained in the non-wrapped version.
Related to this, see http://www.gotw.ca/publications/mill17.htm.
Definition at line 216 of file DetectorComponent.h.
|
protectedinherited |
Message that identifies the component.
Streams-out a (human-readeable) message identifying the component in the hierarchy. It's meant to be used only in messages sent to the user as a way to identify the component that isssues the message (be it an information, warning or error one).
Maybe it'd have been more idiomatic to overload operator<< but I feel that it would be misleading to "stream out" a DetectorComponent.
Definition at line 250 of file DetectorComponent.h.
|
mutableprivate |
Definition at line 266 of file Fiber.h.
Referenced by GetAttenuationAmplitudeA().
|
mutableprivate |
Definition at line 274 of file Fiber.h.
Referenced by GetAttenuationAmplitudeASiPM().
|
mutableprivate |
Definition at line 268 of file Fiber.h.
Referenced by GetAttenuationAmplitudeB().
|
mutableprivate |
Definition at line 276 of file Fiber.h.
Referenced by GetAttenuationAmplitudeBSiPM().
|
mutableprivate |
Definition at line 262 of file Fiber.h.
Referenced by GetAttenuationLengthA().
|
mutableprivate |
Definition at line 270 of file Fiber.h.
Referenced by GetAttenuationLengthASiPM().
|
mutableprivate |
Definition at line 264 of file Fiber.h.
Referenced by GetAttenuationLengthB().
|
mutableprivate |
Definition at line 272 of file Fiber.h.
Referenced by GetAttenuationLengthBSiPM().
|
mutableprivate |
Definition at line 288 of file Fiber.h.
Referenced by GetAttenuationReference().
|
mutableprivate |
Definition at line 280 of file Fiber.h.
Referenced by GetAttenuationReferenceEnergy().
|
mutableprivate |
Definition at line 278 of file Fiber.h.
Referenced by GetAttenuationReferenceThickness().
|
mutableprivate |
Definition at line 260 of file Fiber.h.
Referenced by GetDecayTime().
Definition at line 290 of file Fiber.h.
Referenced by GetModule().
|
mutableprivate |
|
mutableprivate |
Definition at line 252 of file Fiber.h.
Referenced by GetOnManifoldLength().
|
mutableprivate |
|
mutableprivate |
Definition at line 256 of file Fiber.h.
Referenced by GetNumericalAperture(), and GetRadius().
|
mutableprivate |
Definition at line 258 of file Fiber.h.
Referenced by GetRefractionIndex().
|
staticprotectedinherited |
Tag for first vector component in config.
Definition at line 145 of file MPositionable.h.
|
staticprotectedinherited |
Tag for second vector component in config.
Definition at line 147 of file MPositionable.h.
|
staticprotectedinherited |
Tag for third vector component in config.
Definition at line 149 of file MPositionable.h.
|
static |
|
static |
|
staticprotectedinherited |
Tag for coordinate type selection. This tag defines the meaning of the three components.
Definition at line 143 of file MPositionable.h.
|
staticprotectedinherited |
Tag for first rotation's Euler angle in config.
Definition at line 151 of file MPositionable.h.
|
staticprotectedinherited |
Tag for third rotation's Euler angle in config.
Definition at line 155 of file MPositionable.h.
|
staticprotectedinherited |
Tag for second rotation's Euler angle in config.
Definition at line 153 of file MPositionable.h.
|
protectedinherited |
Definition at line 257 of file DetectorComponent.h.
Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::SimulateElectronics(), and MdCounterSimulatorAG::MdCounterSimulator::SimulateElectronics().