List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Types | Private Member Functions | Private Attributes | Friends
mdet::Module Class Reference

Array of Scintillator. More...

#include "mdet/Module.h"

Inheritance diagram for mdet::Module:
Inheritance graph
[legend]

Classes

struct  ChannelTag
 
struct  FiberTag
 
struct  IdTuple
 structure that holds the mapping between different Ids More...
 
struct  PixelTag
 
struct  ScintillatorTag
 

Public Types

enum  AreaKind { eSmall = 0, eLarge = 1 }
 Kind of module based on its area. More...
 
typedef
utl::ConsecutiveEnumFactory
< AreaKind, eLarge,
AreaKindTags
AreaKindCreator
 Convenience typedef for creation of AreaKind enumerators. More...
 
enum  PhotoDetector { ePMT = 0, eSiPM = 1 }
 
typedef
utl::ConsecutiveEnumFactory
< PhotoDetector, eSiPM,
PhotoDetectorTags
PhotoDetectorCreator
 Convenience typedef for creation of PhotoDetector enumerators. More...
 

Public Member Functions

 AddIdMessage (o)
 
double GetArea () const
 
AreaKind GetAreaKind () const
 
const BackEndSiPMGetBackEndSiPM () const
 
double GetBackgroundMuonsFlux () const
 Background muons Flux. More...
 
const CounterGetCounter () const
 The parent counter. More...
 
double GetDepth () const
 The depth of the origin of the module. This quantity is positive for an underground module. More...
 
double GetDepth (const utl::Point &p) const
 
const FrontEndGetFrontEnd () const
 
const FrontEndSiPMGetFrontEndSiPM () const
 
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...
 
ULong64_t GetMask () const
 
unsigned int GetNumberOfScintillators () const
 
double GetPhi0 () const
 
PhotoDetector GetPhotoDetector () const
 
const PMTGetPMT () const
 
utl::Point GetPosition () const
 
double GetShortestFiber () const
 
const SiPMArrayGetSiPMArray () const
 
bool IsSiPM () const
 
return o str ()
 
template<class Component >
const FiberGetFiberFor (const Component &c) const
 Linking between fibers, scintillators, channels and pixels. More...
 
template<class Component >
const ScintillatorGetScintillatorFor (const Component &c) const
 Returns the associated mdet::Scintillator. More...
 
template<class Component >
const PixelGetPixelFor (const Component &c) const
 Returns the associated mdet::Pixel. More...
 
template<class Component >
const SiPMGetSiPMFor (const Component &c) const
 Returns the associated mdet::SiPM. More...
 
template<class Component >
const ChannelSiPMGetChannelSiPMFor (const Component &c) const
 Returns the associated mdet::ChannelSiPM. More...
 
template<class Component >
const ChannelGetChannelFor (const Component &c) const
 Returns the associated mdet::Channel. More...
 
const ScintillatorGetScintillator (int sId) const
 Direct accesor by id. More...
 
bool ExistsScintillator (const int sId) const
 
const ChannelGetChannel (int cId) const
 
bool ExistsChannel (const int cId) const
 
const ChannelSiPMGetChannelSiPM (int cId) const
 
bool ExistsChannelSiPM (const int cId) const
 
const FiberGetFiber (int fId) const
 
bool ExistsFiber (const int fId) const
 
const PixelGetPixel (int pId) const
 
bool ExistsPixel (const int pId) const
 
const SiPMGetSiPM (const int pId) const
 
bool ExistsSiPM (const int pId) const
 
int ScintillatorToChannelId (const int sId) const
 
int ScintillatorToPixelId (const int sId) const
 
int ScintillatorToFiberId (const int sId) const
 
int ChannelToScintillatorId (const int cId) const
 
int ChannelToPixelId (const int cId) const
 
int ChannelToFiberId (const int cId) const
 
int FiberToChannelId (const int fId) const
 
int FiberToScintillatorId (const int fId) const
 
int FiberToPixelId (const int fId) const
 
int PixelToScintillatorId (const int pId) const
 
int PixelToFiberId (const int pId) const
 
int PixelToChannelId (const int pId) const
 

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 AreaKindTags [] = { "small", "large" }
 Tags for textual representation. More...
 
static const char *const kComponentId = MHierarchyInfo::kComponentsIds[1]
 
static const char *const kComponentName = MHierarchyInfo::kComponentsNames[1]
 
static const char *const PhotoDetectorTags [] = { "PMT", "SiPM" }
 Tags for textual representation. More...
 

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 AreaKindForConfig
 
typedef MComponentGroup
< Module, Fiber,
det::ParentCreator >::Type 
FiberGroup
 Type for the set of associated mdet::Fiber. More...
 
typedef IndexContainer::index
< ChannelTag >::type 
IndexByChannelId
 
typedef IndexContainer::index
< FiberTag >::type 
IndexByFiberId
 
typedef IndexContainer::index
< PixelTag >::type 
IndexByPixelId
 
typedef IndexContainer::index
< ScintillatorTag >::type 
IndexByScintillatorId
 
typedef
boost::multi_index_container
< IdTuple,
boost::multi_index::indexed_by
< boost::multi_index::ordered_unique
< boost::multi_index::tag
< ChannelTag >
, boost::multi_index::member
< IdTuple, int,&IdTuple::fChannelId >
>, boost::multi_index::ordered_unique
< boost::multi_index::tag
< PixelTag >
, boost::multi_index::member
< IdTuple, int,&IdTuple::fPixelId >
>, boost::multi_index::ordered_unique
< boost::multi_index::tag
< ScintillatorTag >
, boost::multi_index::member
< IdTuple, int,&IdTuple::fScintillatorId >
>, boost::multi_index::ordered_unique
< boost::multi_index::tag
< FiberTag >
, boost::multi_index::member
< IdTuple, int,&IdTuple::fFiberId > > > > 
IndexContainer
 
typedef std::string PhotoDetectorForConfig
 
typedef MComponentGroup
< Module, Scintillator,
det::ParentCreator >::Type 
ScintillatorGroup
 Type for the set of associated mdet::Scintillator. More...
 

Private Member Functions

utl::CoordinateSystemPtr GetReferenceCoordinateSystem () const
 The reference is the local coordinate system of mdet::Counter. More...
 
 Module (const int mId, const det::VManager::IndexMap &parentMap, const Counter &parent)
 Constructs the Module (obviously!). More...
 
void Update (const bool invalidateData, const bool invalidateComponents)
 
 ~Module ()
 

Private Attributes

utl::Validated< AreaKindForConfigfAreaKind
 
utl::ShadowPtr< BackEndSiPMfBackEndSiPM
 
utl::Validated< double > fBackgroundMuonsFlux
 
const CounterfCounter
 
FiberGroup fFibers
 
utl::ShadowPtr< FrontEndfFrontEnd
 
utl::ShadowPtr< FrontEndSiPMfFrontEndSiPM
 
IndexByChannelIdfIndexByChannel
 
IndexByFiberIdfIndexByFiber
 
IndexByPixelIdfIndexByPixel
 
IndexByScintillatorIdfIndexByScintillator
 
IndexContainer fIndexRelations
 
utl::Validated
< PhotoDetectorForConfig
fPhotoDetector
 
utl::ShadowPtr< PMTfPMT
 
ScintillatorGroup fScintillators
 
utl::ShadowPtr< SiPMArrayfSiPMArray
 

Friends

template<class T >
void boost::checked_delete (T *) BOOST_NOEXCEPT
 Friendship for destruction. Depends on det::ComponentGroup innards. More...
 
struct det::ComponentUpdater
 See mdet::Counter. More...
 
class det::MPositionable< Module >
 
struct det::ParentCreator
 
typedef
ScintillatorGroup::ConstIterator 
ScintillatorConstIterator
 Scintillator handling. More...
 
ScintillatorConstIterator ScintillatorsBegin () const
 Begin iterator over the contained scitillators. More...
 
ScintillatorConstIterator ScintillatorsEnd () const
 End iterator over the contained scintillators. More...
 
typedef FiberGroup::ConstIterator FiberConstIterator
 Fiber handling. More...
 
FiberConstIterator FibersBegin () const
 Begin iterator over the contained fibers. More...
 
FiberConstIterator FibersEnd () const
 End iterator over the contained fibers. More...
 

Detailed Description

Array of Scintillator.

A Module consists in a regular arrangement of Scintillators. Due to the neccesity of E&M shielding they are buried underground.

Todo:
Maybe a boost::zip_iterator to allow simultaneous iteration.
Author
Rodolfo Federico Gamarra
Date
09 Jan 2009

Definition at line 57 of file MDetector/Module.h.

Member Typedef Documentation

Convenience typedef for creation of AreaKind enumerators.

Definition at line 108 of file MDetector/Module.h.

typedef std::string mdet::Module::AreaKindForConfig
private

Definition at line 428 of file MDetector/Module.h.

template<class Config>
typedef std::string det::MPositionable< Config >::CoordinateType
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.

typedef FiberGroup::ConstIterator mdet::Module::FiberConstIterator

Fiber handling.

Convenience typedef for const iterator over the contained mdet::Fiber instances.

Definition at line 135 of file MDetector/Module.h.

Type for the set of associated mdet::Fiber.

Definition at line 65 of file MDetector/Module.h.

typedef IndexContainer::index<ChannelTag>::type mdet::Module::IndexByChannelId
private

Definition at line 480 of file MDetector/Module.h.

typedef IndexContainer::index<FiberTag>::type mdet::Module::IndexByFiberId
private

Definition at line 483 of file MDetector/Module.h.

typedef IndexContainer::index<PixelTag>::type mdet::Module::IndexByPixelId
private

Definition at line 481 of file MDetector/Module.h.

typedef IndexContainer::index<ScintillatorTag>::type mdet::Module::IndexByScintillatorId
private

Definition at line 482 of file MDetector/Module.h.

typedef boost::multi_index_container< IdTuple, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag<ChannelTag>, boost::multi_index::member< IdTuple, int, &IdTuple::fChannelId > >, boost::multi_index::ordered_unique< boost::multi_index::tag<PixelTag>, boost::multi_index::member< IdTuple, int, &IdTuple::fPixelId > >, boost::multi_index::ordered_unique< boost::multi_index::tag<ScintillatorTag>, boost::multi_index::member< IdTuple, int, &IdTuple::fScintillatorId > >, boost::multi_index::ordered_unique< boost::multi_index::tag<FiberTag>, boost::multi_index::member< IdTuple, int, &IdTuple::fFiberId > > > > mdet::Module::IndexContainer
private

Definition at line 478 of file MDetector/Module.h.

Convenience typedef for creation of PhotoDetector enumerators.

Definition at line 114 of file MDetector/Module.h.

typedef std::string mdet::Module::PhotoDetectorForConfig
private

Definition at line 433 of file MDetector/Module.h.

typedef ScintillatorGroup::ConstIterator mdet::Module::ScintillatorConstIterator

Scintillator handling.

Convenience typedef for const iterator over the contained mdet::Scintillator instances.

Definition at line 123 of file MDetector/Module.h.

Type for the set of associated mdet::Scintillator.

Definition at line 62 of file MDetector/Module.h.

Member Enumeration Documentation

Kind of module based on its area.

Enumeration for module typification based on total (cross-sectional) area (summed over Scintillators).

Explicitly states the enum values as of the I/O is based on the integer values.

Originally this was thought as a typification based on lenght, but that "reveals", so to say, the underlying strip shape. Given the itention to (try to) hide that fact, the enumeration has been changed to a typification based on area, which ends being the same. It may be said, also, that talking about area reveals the nearly 2-D shape of the strips, given the fact the theirs height is negligible in comparisson with the leght and width. But it we think about cross-sectional area we can talk perfectly about area without implying 2-D objects. Of course, the cross-section depends on the direction of the impinging particles, so this isn't an absolute typification: it has to be tought in the light of the "designed for" incoming directions. Well , way too much talking: it's a dammed two value enumeration used to label the modules!

Enumerator
eSmall 
eLarge 

Definition at line 94 of file MDetector/Module.h.

Enumerator
ePMT 
eSiPM 

Definition at line 99 of file MDetector/Module.h.

Constructor & Destructor Documentation

mdet::Module::Module ( const int  mId,
const det::VManager::IndexMap parentMap,
const Counter parent 
)
private

Constructs the Module (obviously!).

Parameters
mIdThe identifier to be used.
parentMapThe identifiers of the parent within the hierarchy.
parentThe parent mdet::Counter.

A reference to the parent is kept in this class and part of the construction is delegated to the first super-class.

This method is kept private creation of these objects is not meant to be performed by client code. See the related friendship declaration.

See Also
mdet::MDectectorComponent::Type

Definition at line 70 of file MDetector/Module.cc.

References det::DetectorComponent< C, ManagerProvider >::AddIdMessage(), fAreaKind, FATAL, fBackEndSiPM, fBackgroundMuonsFlux, fFibers, fFrontEnd, fFrontEndSiPM, fPhotoDetector, fPMT, fScintillators, fSiPMArray, det::DetectorComponent< C, ManagerProvider >::GetIdsMap(), GetPhotoDetector(), INFO, and det::DetectorComponent< C, ManagerProvider >::Register().

mdet::Module::~Module ( )
inlineprivate

Definition at line 393 of file MDetector/Module.h.

Member Function Documentation

template<class C , class ManagerProvider >
det::DetectorComponent< C, ManagerProvider >::AddIdMessage ( )
inherited
int mdet::Module::ChannelToFiberId ( const int  cId) const
inline

Definition at line 283 of file MDetector/Module.h.

References fIndexByChannel.

Referenced by MDetectorTest::testComponentAssignment().

int mdet::Module::ChannelToPixelId ( const int  cId) const
inline
int mdet::Module::ChannelToScintillatorId ( const int  cId) const
inline
bool mdet::Module::ExistsChannel ( const int  cId) const
inline

Definition at line 250 of file MDetector/Module.h.

References fFrontEnd.

bool mdet::Module::ExistsChannelSiPM ( const int  cId) const
inline

Definition at line 254 of file MDetector/Module.h.

References fFrontEndSiPM.

bool mdet::Module::ExistsFiber ( const int  fId) const
inline

Definition at line 258 of file MDetector/Module.h.

References fFibers.

bool mdet::Module::ExistsPixel ( const int  pId) const
inline

Definition at line 262 of file MDetector/Module.h.

References fPMT.

bool mdet::Module::ExistsScintillator ( const int  sId) const
inline

Definition at line 246 of file MDetector/Module.h.

References fScintillators.

bool mdet::Module::ExistsSiPM ( const int  pId) const
inline

Definition at line 266 of file MDetector/Module.h.

References fSiPMArray.

FiberConstIterator mdet::Module::FibersBegin ( ) const
inline

Begin iterator over the contained fibers.

Definition at line 138 of file MDetector/Module.h.

References fFibers.

Referenced by GetShortestFiber(), and MDetectorTest::testBasic().

FiberConstIterator mdet::Module::FibersEnd ( ) const
inline

End iterator over the contained fibers.

Definition at line 141 of file MDetector/Module.h.

References fFibers.

Referenced by GetShortestFiber(), and MDetectorTest::testBasic().

int mdet::Module::FiberToChannelId ( const int  fId) const
inline

Definition at line 286 of file MDetector/Module.h.

References fIndexByFiber.

Referenced by MDetectorTest::testComponentAssignment().

int mdet::Module::FiberToPixelId ( const int  fId) const
inline

Definition at line 292 of file MDetector/Module.h.

References fIndexByFiber.

Referenced by MDetectorTest::testComponentAssignment().

int mdet::Module::FiberToScintillatorId ( const int  fId) const
inline

Definition at line 289 of file MDetector/Module.h.

References fIndexByFiber.

Referenced by MDetectorTest::testComponentAssignment().

double mdet::Module::GetArea ( ) const

Definition at line 166 of file MDetector/Module.cc.

References is(), ScintillatorsBegin(), and ScintillatorsEnd().

Module::AreaKind mdet::Module::GetAreaKind ( ) const
const BackEndSiPM & mdet::Module::GetBackEndSiPM ( ) const
double mdet::Module::GetBackgroundMuonsFlux ( ) const

Background muons Flux.

The mean flux of background muons; total flux crossing unit horizontal area from above. In 1 / distance^2 / time.

TODO What about the energy? XXX Not used so far.

Definition at line 143 of file MDetector/Module.cc.

References fBackgroundMuonsFlux, and det::DetectorComponent< C, ManagerProvider >::GetData().

const Channel& mdet::Module::GetChannel ( int  cId) const
inline

Definition at line 248 of file MDetector/Module.h.

References fFrontEnd.

Referenced by MDetectorTest::testComponentAssignment().

template<class Component >
const Channel& mdet::Module::GetChannelFor ( const Component &  c) const
inline

Returns the associated mdet::Channel.

Parameters
cThe component for which the associated channel is desired.
Precondition
The c has to belong to this. Thanks to (plain) friendship call GetChannels.

Definition at line 231 of file MDetector/Module.h.

References mdet::Module::IdTuple::fChannelId, and fFrontEnd.

Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::SimulateElectronics(), MdCounterSimulatorAG::MdCounterSimulator::SimulateElectronics(), and MDetectorTest::testComponentAssignment().

const ChannelSiPM& mdet::Module::GetChannelSiPM ( int  cId) const
inline

Definition at line 252 of file MDetector/Module.h.

References fFrontEndSiPM.

template<class Component >
const ChannelSiPM& mdet::Module::GetChannelSiPMFor ( const Component &  c) const
inline

Returns the associated mdet::ChannelSiPM.

Parameters
cThe component for which the associated channel of the SiPM is desired.
Precondition
The c has to belong to this. Thanks to (plain) friendship call GetChannelSiPMs.

Definition at line 221 of file MDetector/Module.h.

References mdet::Module::IdTuple::fChannelId, and fFrontEndSiPM.

Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::SimulateElectronics(), and MdCounterSimulatorAG::MdCounterSimulator::SimulateElectronics().

template<class Config >
double det::MPositionable< Config >::GetComponent1 ( ) const
protectedvirtualinherited

First component of the position vector.

It could be x or r, according to the type determined by GetCoordinateType.

See Also
utl::Vector

Definition at line 304 of file MPositionable.h.

template<class Config >
double det::MPositionable< Config >::GetComponent2 ( ) const
protectedvirtualinherited

Second component of the position vector.

See Also
GetComponent1

Definition at line 313 of file MPositionable.h.

template<class Config >
double det::MPositionable< Config >::GetComponent3 ( ) const
protectedvirtualinherited

Third component of the position vector.

See Also
GetComponent1

Definition at line 317 of file MPositionable.h.

template<class Config >
MPositionable< Config >::CoordinateType det::MPositionable< Config >::GetCoordinateType ( ) const
protectedvirtualinherited

Coordinate type.

See Also
utl::Vector::CoordinateType

Definition at line 333 of file MPositionable.h.

const Counter & mdet::Module::GetCounter ( ) const
template<class C , class ManagerProvider >
template<typename T , template< typename > class P>
T& det::DetectorComponent< C, ManagerProvider >::GetData ( P< T > &  d,
const std::string &  p 
) const
inlineprotectedinherited

Common utility function for configuration.

Retrieves data from the provided (via this class' template parameter) Manager instance and goes on with initialization.

Parameters
dAn object of type P<T> wrapping the real of type T.
pProperty name. The template class P must provide:
  • A bool-like interface (operator ! and a conversion (possibly implicit to bool) to query initialization.
  • An T& operator*() to retrieve the actual data.
  • P& operator=(T* const ptr) for proper initialization.
  • As of the wrapped class T, it must be default constructible.

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(), GetAreaKind(), mdet::Counter::GetAssociatedTankId(), mdet::Fiber::GetAttenuationAmplitudeA(), mdet::Fiber::GetAttenuationAmplitudeASiPM(), mdet::Fiber::GetAttenuationAmplitudeB(), mdet::Fiber::GetAttenuationAmplitudeBSiPM(), mdet::Fiber::GetAttenuationLengthA(), mdet::Fiber::GetAttenuationLengthASiPM(), mdet::Fiber::GetAttenuationLengthB(), mdet::Fiber::GetAttenuationLengthBSiPM(), mdet::Fiber::GetAttenuationReference(), mdet::Fiber::GetAttenuationReferenceEnergy(), mdet::Fiber::GetAttenuationReferenceThickness(), GetBackgroundMuonsFlux(), mdet::FrontEndSiPM::GetBaseLineFluctuationHG(), mdet::FrontEndSiPM::GetBaseLineFluctuationLG(), mdet::Channel::GetDCGain(), mdet::Fiber::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(), mdet::Fiber::GetNumericalAperture(), mdet::Fiber::GetOnManifoldLength(), 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(), mdet::Fiber::GetRadius(), mdet::Fiber::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().

template<class C , class ManagerProvider >
template<typename T >
T& det::DetectorComponent< C, ManagerProvider >::GetData ( T &  d,
const std::string &  p 
) const
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::Module::GetDepth ( ) const

The depth of the origin of the module. This quantity is positive for an underground module.

Definition at line 200 of file MDetector/Module.cc.

References det::MPositionable< Config >::GetPosition().

Referenced by MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().

double mdet::Module::GetDepth ( const utl::Point p) const
template<class Config >
double det::MPositionable< Config >::GetEulerPhi ( ) const
protectedvirtualinherited

First Euler angle for rotation over (original) z.

Definition at line 321 of file MPositionable.h.

Referenced by GetPhi0().

template<class Config >
double det::MPositionable< Config >::GetEulerPsi ( ) const
protectedvirtualinherited

Third Euler angle for rotation over (intermediate) z.

Definition at line 329 of file MPositionable.h.

template<class Config >
double det::MPositionable< Config >::GetEulerTheta ( ) const
protectedvirtualinherited

Second Euler angle for rotation over (intermediate) x.

Definition at line 325 of file MPositionable.h.

const Fiber& mdet::Module::GetFiber ( int  fId) const
inline

Definition at line 256 of file MDetector/Module.h.

References fFibers.

Referenced by MDetectorTest::testComponentAssignment().

template<class Component >
const Fiber& mdet::Module::GetFiberFor ( const Component &  c) const
inline

Linking between fibers, scintillators, channels and pixels.

Put all these methods here to allow the Module to configure how the set-up of its internal components is made and to handle the relations between them.

In principle one can tought to allow, for instance, a many-to-one Fiber-to-Scintillator relationship: ie having multiple fibers on a Scintillator. In that case, instead of a single instance iterators would be required. Also it could be thought to have two pixels related to a single Fiber.

By the time being, neglect that possibilities; but nevertheless seems proper to deal with the relationships here at the module level. If any of those changes is needed then the correspoding methods defined currently here would need to be interpreted, say, as "principal" linking: that is, that return the main Fiber for a Scint and then the secondaries (or all) should be accesed by an iterator-returning method.

Also, defining these linking-methods here concentrates the linking and doesn't spread that over several classes: for instance, if another component is incorported (and has to be linked to a fiber, and so to a pixel and a scintillator) only this class would have to be modified.

At last, despite that these accesors are template functions, the actual arguments are checked to be one of the meaninful components: be it mdet::Fiber, mdet::Pixel or mdet::Scintillator. Returns the associated mdet::Fiber.

Parameters
cThe component for which the associated fiber is desired.
Precondition
The c has to belong to this.

Definition at line 182 of file MDetector/Module.h.

References mdet::Module::IdTuple::fFiberId, and fFibers.

Referenced by G4StationSimulatorOG::G4StationConstruction::AssembleUMD(), G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits(), MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses(), and MDetectorTest::testComponentAssignment().

const FrontEnd & mdet::Module::GetFrontEnd ( ) const
const FrontEndSiPM & mdet::Module::GetFrontEndSiPM ( ) const
template<class C , class ManagerProvider >
int det::DetectorComponent< C, ManagerProvider >::GetId ( ) const
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().

template<class C , class ManagerProvider >
const VManager::IndexMap& det::DetectorComponent< C, ManagerProvider >::GetIdsMap ( ) const
inlineinherited
template<class Config >
utl::CoordinateSystemPtr det::MPositionable< Config >::GetLocalCoordinateSystem ( ) const
inherited
ULong64_t mdet::Module::GetMask ( ) const

Definition at line 192 of file MDetector/Module.cc.

References fFrontEnd.

unsigned int mdet::Module::GetNumberOfScintillators ( ) const

Definition at line 179 of file MDetector/Module.cc.

References is(), ScintillatorsBegin(), and ScintillatorsEnd().

double mdet::Module::GetPhi0 ( ) const
Module::PhotoDetector mdet::Module::GetPhotoDetector ( ) const
const Pixel& mdet::Module::GetPixel ( int  pId) const
inline
template<class Component >
const Pixel& mdet::Module::GetPixelFor ( const Component &  c) const
inline

Returns the associated mdet::Pixel.

Parameters
cThe component for which the associated pixel is desired.
Precondition
The c has to belong to this. Thanks to (plain) friendship call GetPixels.

Definition at line 201 of file MDetector/Module.h.

References mdet::Module::IdTuple::fPixelId, and fPMT.

Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::OptoElectronics(), MdCounterSimulatorAG::MdCounterSimulator::RunFromMEventScintillatorSimulated(), MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses(), and MDetectorTest::testComponentAssignment().

const PMT & mdet::Module::GetPMT ( ) const

Definition at line 36 of file MDetector/Module.cc.

References fPMT.

Referenced by MDetectorTest::testComponentAssignment().

template<class Config >
utl::Point det::MPositionable< Config >::GetPosition ( ) const
inherited
utl::CoordinateSystemPtr mdet::Module::GetReferenceCoordinateSystem ( ) const
privatevirtual

The reference is the local coordinate system of mdet::Counter.

See Also
mdet::Counter::GetLocalCoordinateSystem

Implements det::MPositionable< Config >.

Definition at line 127 of file MDetector/Module.cc.

References GetCounter(), and det::MPositionable< Config >::GetLocalCoordinateSystem().

const Scintillator& mdet::Module::GetScintillator ( int  sId) const
inline

Direct accesor by id.

These methods access directly the components by theirs id. They shouldn't be used to retrieve, say, the channel associated to a scintillator (see the linking related methods); but to just retrieve a known-by-id component within the module.

Definition at line 244 of file MDetector/Module.h.

References fScintillators.

Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::OptoElectronics(), G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits(), EdepSimulatorAG::EdepSimulator::Run(), MdCounterSimulatorAG::MdCounterSimulator::RunFromMEvent(), MdCounterSimulatorAG::MdCounterSimulator::RunFromMEventScintillatorSimulated(), and MDetectorTest::testComponentAssignment().

template<class Component >
const Scintillator& mdet::Module::GetScintillatorFor ( const Component &  c) const
inline

Returns the associated mdet::Scintillator.

Parameters
cThe component for which the associated scintillator is desired.
Precondition
The c has to belong to this.

Definition at line 191 of file MDetector/Module.h.

References mdet::Module::IdTuple::fScintillatorId, and fScintillators.

Referenced by mdet::Fiber::GetOnScintillatorLength(), mdet::Fiber::GetReferenceCoordinateSystem(), and MDetectorTest::testComponentAssignment().

double mdet::Module::GetShortestFiber ( ) const
const SiPM& mdet::Module::GetSiPM ( const int  pId) const
inline
const SiPMArray & mdet::Module::GetSiPMArray ( ) const

Definition at line 43 of file MDetector/Module.cc.

References fSiPMArray.

template<class Component >
const SiPM& mdet::Module::GetSiPMFor ( const Component &  c) const
inline

Returns the associated mdet::SiPM.

Parameters
cThe component for which the associated SiPM is desired.
Precondition
The c has to belong to this. Thanks to (plain) friendship call GetSiPMS.

Definition at line 211 of file MDetector/Module.h.

References mdet::Module::IdTuple::fPixelId, and fSiPMArray.

Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::OptoElectronics(), MdCounterSimulatorAG::MdCounterSimulator::RunFromMEventScintillatorSimulated(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().

bool mdet::Module::IsSiPM ( ) const
int mdet::Module::PixelToChannelId ( const int  pId) const
inline

Definition at line 301 of file MDetector/Module.h.

References fIndexByPixel.

Referenced by MDetectorTest::testComponentAssignment().

int mdet::Module::PixelToFiberId ( const int  pId) const
inline

Definition at line 298 of file MDetector/Module.h.

References fIndexByPixel.

Referenced by MDetectorTest::testComponentAssignment().

int mdet::Module::PixelToScintillatorId ( const int  pId) const
inline

Definition at line 295 of file MDetector/Module.h.

References fIndexByPixel.

Referenced by MDetectorTest::testComponentAssignment().

template<class C , class ManagerProvider >
void det::DetectorComponent< C, ManagerProvider >::Register ( utl::VValidated v)
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(), Module(), and mdet::Scintillator::Scintillator().

ScintillatorConstIterator mdet::Module::ScintillatorsBegin ( ) const
inline
ScintillatorConstIterator mdet::Module::ScintillatorsEnd ( ) const
inline
int mdet::Module::ScintillatorToChannelId ( const int  sId) const
inline

Definition at line 268 of file MDetector/Module.h.

References fIndexByScintillator.

Referenced by MDetectorTest::testComponentAssignment().

int mdet::Module::ScintillatorToFiberId ( const int  sId) const
inline

Definition at line 274 of file MDetector/Module.h.

References fIndexByScintillator.

Referenced by MDetectorTest::testComponentAssignment().

int mdet::Module::ScintillatorToPixelId ( const int  sId) const
inline

Definition at line 271 of file MDetector/Module.h.

References fIndexByScintillator.

Referenced by MDetectorTest::testComponentAssignment().

template<class C , class ManagerProvider >
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)-> det::DetectorComponent< C, ManagerProvider >::SetValid ( false  )
protectedinherited
template<class C , class ManagerProvider >
return o det::DetectorComponent< C, ManagerProvider >::str ( )
inherited
void mdet::Module::Update ( const bool  invalidateData,
const bool  invalidateComponents 
)
private

Friends And Related Function Documentation

template<class T >
void boost::checked_delete ( T *  )
friend

Friendship for destruction. Depends on det::ComponentGroup innards.

friend struct det::ComponentUpdater
friend

See mdet::Counter.

Definition at line 409 of file MDetector/Module.h.

friend class det::MPositionable< Module >
friend

Definition at line 396 of file MDetector/Module.h.

friend struct det::ParentCreator
friend

Definition at line 406 of file MDetector/Module.h.

Member Data Documentation

const char *const mdet::Module::AreaKindTags = { "small", "large" }
static

Tags for textual representation.

Definition at line 105 of file MDetector/Module.h.

template<class C , class ManagerProvider >
T & det::DetectorComponent< T >::const
inherited
Initial value:
{
std::ostringstream o

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!).

See Also
AddIdMessage(std::ostringstream& s) const.

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.

template<class C , class ManagerProvider >
const DetectorUserData<C>& det::DetectorComponent< C, ManagerProvider >::const
inherited
Initial value:
{
if (!fUserData) {
std::string dataMngr;
GetDataNoWrap(dataMngr, "userData");
DetectorUserData<C>* const t = new DetectorUserData<C>();
DetectorUserData<C>::Load(t, dataMngr);
fUserData = t;
}
return *fUserData

Retrieve the user custom data.

Definition at line 137 of file DetectorComponent.h.

template<class C , class ManagerProvider >
template<typename T1 , typename T2 , template< typename, typename > class P>
T1& det::DetectorComponent< C, ManagerProvider >::const
protectedinherited
Initial value:
{
return GetDataUnwrap<T1>(d, p)

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.

template<class C , class ManagerProvider >
template<typename T >
T& det::DetectorComponent< C, ManagerProvider >::const
protectedinherited
Initial value:
{
if (! d.IsValid()) {
GetDataNoWrap(d.Get(), p);
d.SetValid();
}
return d.Get()

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.

template<class C , class ManagerProvider >
void det::DetectorComponent< C, ManagerProvider >::const
protectedinherited
Initial value:
{
typedef det::VManager::IndexMap::const_iterator It

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.

utl::Validated<AreaKindForConfig> mdet::Module::fAreaKind
mutableprivate

Definition at line 430 of file MDetector/Module.h.

Referenced by GetAreaKind(), and Module().

utl::ShadowPtr<BackEndSiPM> mdet::Module::fBackEndSiPM
private

Definition at line 423 of file MDetector/Module.h.

Referenced by GetBackEndSiPM(), and Module().

utl::Validated<double> mdet::Module::fBackgroundMuonsFlux
mutableprivate

Definition at line 437 of file MDetector/Module.h.

Referenced by GetBackgroundMuonsFlux(), and Module().

const Counter& mdet::Module::fCounter
private

Definition at line 425 of file MDetector/Module.h.

Referenced by GetCounter().

FiberGroup mdet::Module::fFibers
private
utl::ShadowPtr<FrontEnd> mdet::Module::fFrontEnd
private
utl::ShadowPtr<FrontEndSiPM> mdet::Module::fFrontEndSiPM
private
IndexByChannelId& mdet::Module::fIndexByChannel
private
IndexByFiberId& mdet::Module::fIndexByFiber
private

Definition at line 489 of file MDetector/Module.h.

Referenced by FiberToChannelId(), FiberToPixelId(), and FiberToScintillatorId().

IndexByPixelId& mdet::Module::fIndexByPixel
private

Definition at line 487 of file MDetector/Module.h.

Referenced by PixelToChannelId(), PixelToFiberId(), and PixelToScintillatorId().

IndexByScintillatorId& mdet::Module::fIndexByScintillator
private
IndexContainer mdet::Module::fIndexRelations
private

Definition at line 485 of file MDetector/Module.h.

utl::Validated<PhotoDetectorForConfig> mdet::Module::fPhotoDetector
mutableprivate

Definition at line 435 of file MDetector/Module.h.

Referenced by GetPhotoDetector(), and Module().

utl::ShadowPtr<PMT> mdet::Module::fPMT
private

Definition at line 415 of file MDetector/Module.h.

Referenced by ExistsPixel(), GetPixel(), GetPixelFor(), GetPMT(), Module(), and Update().

ScintillatorGroup mdet::Module::fScintillators
private
utl::ShadowPtr<SiPMArray> mdet::Module::fSiPMArray
private

Definition at line 417 of file MDetector/Module.h.

Referenced by ExistsSiPM(), GetSiPM(), GetSiPMArray(), GetSiPMFor(), Module(), and Update().

template<class Config>
const std::string det::MPositionable< Config >::kComponent1Tag = "positionComponent1"
staticprotectedinherited

Tag for first vector component in config.

Definition at line 145 of file MPositionable.h.

template<class Config>
const std::string det::MPositionable< Config >::kComponent2Tag = "positionComponent2"
staticprotectedinherited

Tag for second vector component in config.

Definition at line 147 of file MPositionable.h.

template<class Config>
const std::string det::MPositionable< Config >::kComponent3Tag = "positionComponent3"
staticprotectedinherited

Tag for third vector component in config.

Definition at line 149 of file MPositionable.h.

const char *const mdet::Module::kComponentId = MHierarchyInfo::kComponentsIds[1]
static

Definition at line 118 of file MDetector/Module.h.

const char *const mdet::Module::kComponentName = MHierarchyInfo::kComponentsNames[1]
static

Definition at line 116 of file MDetector/Module.h.

template<class Config>
const std::string det::MPositionable< Config >::kCoordinateTypeTag = "coordinateType"
staticprotectedinherited

Tag for coordinate type selection. This tag defines the meaning of the three components.

See Also
utl::BasicVector::CoordinateType

Definition at line 143 of file MPositionable.h.

template<class Config>
const std::string det::MPositionable< Config >::kEulerPhiTag = "eulerPhi"
staticprotectedinherited

Tag for first rotation's Euler angle in config.

Definition at line 151 of file MPositionable.h.

template<class Config>
const std::string det::MPositionable< Config >::kEulerPsiTag = "eulerPsi"
staticprotectedinherited

Tag for third rotation's Euler angle in config.

Definition at line 155 of file MPositionable.h.

template<class Config>
const std::string det::MPositionable< Config >::kEulerThetaTag = "eulerTheta"
staticprotectedinherited

Tag for second rotation's Euler angle in config.

Definition at line 153 of file MPositionable.h.

const char *const mdet::Module::PhotoDetectorTags = { "PMT", "SiPM" }
static

Tags for textual representation.

Definition at line 111 of file MDetector/Module.h.

template<class C , class ManagerProvider >
s<< "id=" << GetId() << " ["; for (It i = GetIdsMap().begin(), e = GetIdsMap().end(); i != e; ++i) s << " " << i-> first<< "=" << i-> det::DetectorComponent< C, ManagerProvider >::second
protectedinherited

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

, generated on Tue Sep 26 2023.