List of all members | Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
mevt::ScintillatorSimData Class Reference

Scintillator level simulation data. More...

#include "mevt/ScintillatorSimData.h"

Classes

struct  PEPulse
 
struct  PhotonTime
 
struct  SPEPulse
 

Public Types

typedef
boost::indirect_iterator
< InternalConstParticleIterator,
const utl::Particle & > 
ConstParticleIterator
 
typedef
PEPulseContainer::const_iterator 
ConstPEPulseIterator
 
typedef
PhotonTimeContainer::const_iterator 
ConstPhotonTimeIterator
 
typedef
SPEPulseContainer::const_iterator 
ConstSPEPulseIterator
 
typedef
boost::indirect_iterator
< InternalParticleIterator,
utl::Particle & > 
ParticleIterator
 
typedef PEPulseContainer::iterator PEPulseIterator
 
typedef
PhotonTimeContainer::iterator 
PhotonTimeIterator
 
typedef SPEPulseContainer::iterator SPEPulseIterator
 

Public Member Functions

void AddEnergyDeposit (const double edep)
 
void AddEnergyDepositMuons (const double edep)
 
void AddParticle (const utl::Particle &particle)
 
void AddPEPulse (const double t0, const double a1, const double a2, const double a3, const double timeRise, const double timeFall1, const double timeFall2, const double timeFall3, const int destPixelId)
 
void AddPhotonTime (const double t0)
 
void AddSPEPulse (const double mu, const double sigma, const double amplitude, const int destPixelId)
 
void ClearParticleList ()
 
utl::TraceDGetAnalogicTrace ()
 Return the trace of current pulse signal prior to the electronic amplification stage. More...
 
const utl::TraceDGetAnalogicTrace () const
 
double GetEnergyDeposit () const
 
unsigned int GetEnergyDepositMuons () const
 
unsigned int GetNumberOfCornerClippingMuons () const
 
unsigned int GetNumberOfElectrons () const
 
unsigned int GetNumberOfInjectedMuons () const
 
unsigned int GetNumberOfParticles () const
 
int GetNumberOfPEPulses () const
 
int GetNumberOfPhotonTimes () const
 
int GetNumberOfSPEPulses () const
 
double GetPhotonTime (const PhotonTime &photon) const
 
bool HasAnalogicTrace () const
 
void IncrementNumberOfCornerClippingMuons ()
 
void IncrementNumberOfElectrons ()
 
void IncrementNumberOfInjectedMuons ()
 
void MakeAnalogicTrace ()
 
ParticleIterator ParticlesBegin ()
 
ConstParticleIterator ParticlesBegin () const
 
ParticleIterator ParticlesEnd ()
 
ConstParticleIterator ParticlesEnd () const
 
PEPulseIterator PEPulsesBegin ()
 
ConstPEPulseIterator PEPulsesBegin () const
 
PEPulseIterator PEPulsesEnd ()
 
ConstPEPulseIterator PEPulsesEnd () const
 
PhotonTimeIterator PhotonTimesBegin ()
 
ConstPhotonTimeIterator PhotonTimesBegin () const
 
PhotonTimeIterator PhotonTimesEnd ()
 
ConstPhotonTimeIterator PhotonTimesEnd () const
 
void SetEnergyDeposit (const double edep)
 
void SetEnergyDepositMuons (const double edep)
 
void SetNumberOfCornerClippingMuons (const unsigned int nmuons)
 
void SetNumberOfElectrons (const unsigned int electrons)
 
void SetNumberOfInjectedMuons (const unsigned int nmuons)
 
SPEPulseIterator SPEPulsesBegin ()
 
ConstSPEPulseIterator SPEPulsesBegin () const
 
SPEPulseIterator SPEPulsesEnd ()
 
ConstSPEPulseIterator SPEPulsesEnd () const
 

Private Types

typedef
InternalParticleContainer::const_iterator 
InternalConstParticleIterator
 
typedef std::list< ParticlePtrInternalParticleContainer
 
typedef
InternalParticleContainer::iterator 
InternalParticleIterator
 
typedef utl::ShadowPtr
< utl::Particle
ParticlePtr
 
typedef std::list< PEPulsePEPulseContainer
 
typedef std::list< PhotonTimePhotonTimeContainer
 
typedef std::list< SPEPulseSPEPulseContainer
 

Private Member Functions

 ScintillatorSimData ()=default
 
 ~ScintillatorSimData ()=default
 

Private Attributes

utl::ShadowPtr< utl::TraceDfAnalogicTrace
 
double fEnergyDeposit = 0
 
double fEnergyDepositMuons = 0
 
unsigned int fNParticles = 0
 
unsigned int fNumberOfCornerClippingMuons = 0
 
unsigned int fNumberOfElectrons = 0
 
unsigned int fNumberOfInjectedMuons = 0
 
InternalParticleContainer fParticles
 
PEPulseContainer fPEPulses
 
PhotonTimeContainer fPhotonTimes
 
SPEPulseContainer fSPEPulses
 

Friends

class Scintillator
 Friendship to allow construction. More...
 
class utl::ShadowPtr< ScintillatorSimData >
 Frienship to allow destruction. More...
 

Detailed Description

Scintillator level simulation data.

Author
Rodolfo Federico Gamarra
Date
08 Mar 2009

Definition at line 31 of file MEvent/ScintillatorSimData.h.

Member Typedef Documentation

Definition at line 112 of file MEvent/ScintillatorSimData.h.

typedef PEPulseContainer::const_iterator mevt::ScintillatorSimData::ConstPEPulseIterator

Definition at line 117 of file MEvent/ScintillatorSimData.h.

typedef PhotonTimeContainer::const_iterator mevt::ScintillatorSimData::ConstPhotonTimeIterator

Definition at line 120 of file MEvent/ScintillatorSimData.h.

typedef SPEPulseContainer::const_iterator mevt::ScintillatorSimData::ConstSPEPulseIterator

Definition at line 114 of file MEvent/ScintillatorSimData.h.

typedef InternalParticleContainer::const_iterator mevt::ScintillatorSimData::InternalConstParticleIterator
private

Definition at line 104 of file MEvent/ScintillatorSimData.h.

Definition at line 102 of file MEvent/ScintillatorSimData.h.

typedef InternalParticleContainer::iterator mevt::ScintillatorSimData::InternalParticleIterator
private

Definition at line 103 of file MEvent/ScintillatorSimData.h.

Definition at line 111 of file MEvent/ScintillatorSimData.h.

Definition at line 101 of file MEvent/ScintillatorSimData.h.

Definition at line 107 of file MEvent/ScintillatorSimData.h.

typedef PEPulseContainer::iterator mevt::ScintillatorSimData::PEPulseIterator

Definition at line 116 of file MEvent/ScintillatorSimData.h.

Definition at line 108 of file MEvent/ScintillatorSimData.h.

typedef PhotonTimeContainer::iterator mevt::ScintillatorSimData::PhotonTimeIterator

Definition at line 119 of file MEvent/ScintillatorSimData.h.

Definition at line 106 of file MEvent/ScintillatorSimData.h.

typedef SPEPulseContainer::iterator mevt::ScintillatorSimData::SPEPulseIterator

Definition at line 113 of file MEvent/ScintillatorSimData.h.

Constructor & Destructor Documentation

mevt::ScintillatorSimData::ScintillatorSimData ( )
privatedefault
mevt::ScintillatorSimData::~ScintillatorSimData ( )
privatedefault

Member Function Documentation

void mevt::ScintillatorSimData::AddEnergyDeposit ( const double  edep)
inline
void mevt::ScintillatorSimData::AddEnergyDepositMuons ( const double  edep)
inline
void mevt::ScintillatorSimData::AddParticle ( const utl::Particle particle)
void mevt::ScintillatorSimData::AddPEPulse ( const double  t0,
const double  a1,
const double  a2,
const double  a3,
const double  timeRise,
const double  timeFall1,
const double  timeFall2,
const double  timeFall3,
const int  destPixelId 
)
void mevt::ScintillatorSimData::AddPhotonTime ( const double  t0)
void mevt::ScintillatorSimData::AddSPEPulse ( const double  mu,
const double  sigma,
const double  amplitude,
const int  destPixelId 
)
void mevt::ScintillatorSimData::ClearParticleList ( )

Definition at line 17 of file MEvent/ScintillatorSimData.cc.

References fNParticles, and fParticles.

Referenced by EdepSimulatorAG::EdepSimulator::Run().

utl::TraceD & mevt::ScintillatorSimData::GetAnalogicTrace ( )

Return the trace of current pulse signal prior to the electronic amplification stage.

This would be the one obtaining by sampling with an oscilloscope the corresponding input pin of the amplification stage. Having said that, this trace includes the effect of fiber, scintillator, PMT/SiPM, in particular cross-talk included.

XXX At first one can think that this goes more to a "ChannelSimData" class (which by now doesn't even exist). On the other hand, the measured signal at the end of the analogic stage is the result of the combination of all the devices: scint, fiber, etc. In addition to that, it seems to simplify (besides no need of new classes) to have particles and these signals in a single common class, because it seems that in the usual case both would be searched for and then combined accordingly. Also, since these signals are analogic (prior sampling) it may be confusing that they go to the channel, which outputs the digital sampling.

Definition at line 25 of file MEvent/ScintillatorSimData.cc.

References fAnalogicTrace.

Referenced by MdCounterSimulatorAG::MdCounterSimulator::ApplyCITIROCTransfer(), MdCounterSimulatorAG::MdCounterSimulator::GetPulseTimeSpan(), io::ScintillatorSimData_ROOT::operator>>(), and MdCounterSimulatorAG::MdCounterSimulator::ProcessPulses().

const utl::TraceD & mevt::ScintillatorSimData::GetAnalogicTrace ( ) const

Definition at line 32 of file MEvent/ScintillatorSimData.cc.

References fAnalogicTrace.

double mevt::ScintillatorSimData::GetEnergyDeposit ( ) const
inline

Definition at line 184 of file MEvent/ScintillatorSimData.h.

References fEnergyDeposit.

unsigned int mevt::ScintillatorSimData::GetEnergyDepositMuons ( ) const
inline

Definition at line 186 of file MEvent/ScintillatorSimData.h.

References fEnergyDepositMuons.

unsigned int mevt::ScintillatorSimData::GetNumberOfCornerClippingMuons ( ) const
inline

Definition at line 180 of file MEvent/ScintillatorSimData.h.

References fNumberOfCornerClippingMuons.

unsigned int mevt::ScintillatorSimData::GetNumberOfElectrons ( ) const
inline

Definition at line 182 of file MEvent/ScintillatorSimData.h.

References fNumberOfElectrons.

unsigned int mevt::ScintillatorSimData::GetNumberOfInjectedMuons ( ) const
inline

Definition at line 178 of file MEvent/ScintillatorSimData.h.

References fNumberOfInjectedMuons.

unsigned int mevt::ScintillatorSimData::GetNumberOfParticles ( ) const
inline

Definition at line 190 of file MEvent/ScintillatorSimData.h.

References fNParticles.

Referenced by EdepSimulatorAG::EdepSimulator::Run().

int mevt::ScintillatorSimData::GetNumberOfPEPulses ( ) const
inline

Definition at line 146 of file MEvent/ScintillatorSimData.h.

References fPEPulses.

int mevt::ScintillatorSimData::GetNumberOfPhotonTimes ( ) const
inline

Definition at line 156 of file MEvent/ScintillatorSimData.h.

References fPhotonTimes.

int mevt::ScintillatorSimData::GetNumberOfSPEPulses ( ) const
inline

Definition at line 136 of file MEvent/ScintillatorSimData.h.

References fSPEPulses.

double mevt::ScintillatorSimData::GetPhotonTime ( const PhotonTime photon) const
bool mevt::ScintillatorSimData::HasAnalogicTrace ( ) const
void mevt::ScintillatorSimData::IncrementNumberOfCornerClippingMuons ( )
inline
void mevt::ScintillatorSimData::IncrementNumberOfElectrons ( )
inline
void mevt::ScintillatorSimData::IncrementNumberOfInjectedMuons ( )
inline
void mevt::ScintillatorSimData::MakeAnalogicTrace ( )
ParticleIterator mevt::ScintillatorSimData::ParticlesBegin ( )
inline
ConstParticleIterator mevt::ScintillatorSimData::ParticlesBegin ( ) const
inline

Definition at line 123 of file MEvent/ScintillatorSimData.h.

References fParticles.

ParticleIterator mevt::ScintillatorSimData::ParticlesEnd ( )
inline
ConstParticleIterator mevt::ScintillatorSimData::ParticlesEnd ( ) const
inline

Definition at line 125 of file MEvent/ScintillatorSimData.h.

References fParticles.

PEPulseIterator mevt::ScintillatorSimData::PEPulsesBegin ( )
inline

Definition at line 138 of file MEvent/ScintillatorSimData.h.

References fPEPulses.

ConstPEPulseIterator mevt::ScintillatorSimData::PEPulsesBegin ( ) const
inline

Definition at line 139 of file MEvent/ScintillatorSimData.h.

References fPEPulses.

PEPulseIterator mevt::ScintillatorSimData::PEPulsesEnd ( )
inline

Definition at line 140 of file MEvent/ScintillatorSimData.h.

References fPEPulses.

ConstPEPulseIterator mevt::ScintillatorSimData::PEPulsesEnd ( ) const
inline

Definition at line 141 of file MEvent/ScintillatorSimData.h.

References fPEPulses.

PhotonTimeIterator mevt::ScintillatorSimData::PhotonTimesBegin ( )
inline
ConstPhotonTimeIterator mevt::ScintillatorSimData::PhotonTimesBegin ( ) const
inline

Definition at line 149 of file MEvent/ScintillatorSimData.h.

References fPhotonTimes.

PhotonTimeIterator mevt::ScintillatorSimData::PhotonTimesEnd ( )
inline
ConstPhotonTimeIterator mevt::ScintillatorSimData::PhotonTimesEnd ( ) const
inline

Definition at line 151 of file MEvent/ScintillatorSimData.h.

References fPhotonTimes.

void mevt::ScintillatorSimData::SetEnergyDeposit ( const double  edep)
inline

Definition at line 174 of file MEvent/ScintillatorSimData.h.

References fEnergyDeposit.

Referenced by io::ScintillatorSimData_ROOT::operator>>().

void mevt::ScintillatorSimData::SetEnergyDepositMuons ( const double  edep)
inline
void mevt::ScintillatorSimData::SetNumberOfCornerClippingMuons ( const unsigned int  nmuons)
inline
void mevt::ScintillatorSimData::SetNumberOfElectrons ( const unsigned int  electrons)
inline
void mevt::ScintillatorSimData::SetNumberOfInjectedMuons ( const unsigned int  nmuons)
inline
SPEPulseIterator mevt::ScintillatorSimData::SPEPulsesBegin ( )
inline

Definition at line 129 of file MEvent/ScintillatorSimData.h.

References fSPEPulses.

ConstSPEPulseIterator mevt::ScintillatorSimData::SPEPulsesBegin ( ) const
inline

Definition at line 130 of file MEvent/ScintillatorSimData.h.

References fSPEPulses.

SPEPulseIterator mevt::ScintillatorSimData::SPEPulsesEnd ( )
inline

Definition at line 131 of file MEvent/ScintillatorSimData.h.

References fSPEPulses.

ConstSPEPulseIterator mevt::ScintillatorSimData::SPEPulsesEnd ( ) const
inline

Definition at line 132 of file MEvent/ScintillatorSimData.h.

References fSPEPulses.

Friends And Related Function Documentation

friend class Scintillator
friend

Friendship to allow construction.

Definition at line 256 of file MEvent/ScintillatorSimData.h.

friend class utl::ShadowPtr< ScintillatorSimData >
friend

Frienship to allow destruction.

Depends on the innards of mevt::Scintillator.

Definition at line 262 of file MEvent/ScintillatorSimData.h.

Member Data Documentation

utl::ShadowPtr<utl::TraceD> mevt::ScintillatorSimData::fAnalogicTrace
private
double mevt::ScintillatorSimData::fEnergyDeposit = 0
private
double mevt::ScintillatorSimData::fEnergyDepositMuons = 0
private
unsigned int mevt::ScintillatorSimData::fNParticles = 0
private
unsigned int mevt::ScintillatorSimData::fNumberOfCornerClippingMuons = 0
private
unsigned int mevt::ScintillatorSimData::fNumberOfElectrons = 0
private
unsigned int mevt::ScintillatorSimData::fNumberOfInjectedMuons = 0
private
InternalParticleContainer mevt::ScintillatorSimData::fParticles
private
PEPulseContainer mevt::ScintillatorSimData::fPEPulses
private
PhotonTimeContainer mevt::ScintillatorSimData::fPhotonTimes
private
SPEPulseContainer mevt::ScintillatorSimData::fSPEPulses
private

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

, generated on Tue Sep 26 2023.