1 #ifndef _mevt_ScintillatorSimData_h_
2 #define _mevt_ScintillatorSimData_h_
5 #include <utl/ShadowPtr_fwd.h>
6 #include <utl/Particle.h>
8 #include <utl/ShadowPtr.h>
10 #include <utl/TimeStamp.h>
14 #include <boost/iterator/indirect_iterator.hpp>
15 #include <mdet/Pixel.h>
111 typedef boost::indirect_iterator<InternalParticleIterator, utl::Particle&>
ParticleIterator;
134 void AddSPEPulse(
const double mu,
const double sigma,
const double amplitude,
const int destPixelId);
143 void AddPEPulse(
const double t0,
const double a1,
const double a2,
const double a3,
const double timeRise,
144 const double timeFall1,
const double timeFall2,
const double timeFall3,
const int destPixelId);
ConstPhotonTimeIterator PhotonTimesEnd() const
pointer with built-in initialization, deletion, deep copying
void AddEnergyDepositMuons(const double edep)
unsigned int GetNumberOfCornerClippingMuons() const
InternalParticleContainer::const_iterator InternalConstParticleIterator
PEPulseContainer::const_iterator ConstPEPulseIterator
boost::indirect_iterator< InternalConstParticleIterator, const utl::Particle & > ConstParticleIterator
ConstParticleIterator ParticlesBegin() const
std::list< SPEPulse > SPEPulseContainer
void SetEnergyDeposit(const double edep)
Describes a particle for Simulation.
void IncrementNumberOfElectrons()
double fEnergyDepositMuons
void SetNumberOfElectrons(const unsigned int electrons)
void AddSPEPulse(const double mu, const double sigma, const double amplitude, const int destPixelId)
ConstParticleIterator ParticlesEnd() const
PhotonTimeContainer fPhotonTimes
ConstPEPulseIterator PEPulsesBegin() const
PhotonTimeContainer::const_iterator ConstPhotonTimeIterator
void AddParticle(const utl::Particle &particle)
ScintillatorSimData()=default
void SetNumberOfInjectedMuons(const unsigned int nmuons)
void SetNumberOfCornerClippingMuons(const unsigned int nmuons)
double GetEnergyDeposit() const
unsigned int fNumberOfCornerClippingMuons
SPEPulseIterator SPEPulsesBegin()
ConstPhotonTimeIterator PhotonTimesBegin() const
PEPulseIterator PEPulsesEnd()
void IncrementNumberOfInjectedMuons()
unsigned int GetNumberOfElectrons() const
int GetNumberOfSPEPulses() const
utl::TraceD & GetAnalogicTrace()
Return the trace of current pulse signal prior to the electronic amplification stage.
Scintillator level event data.
InternalParticleContainer fParticles
boost::indirect_iterator< InternalParticleIterator, utl::Particle & > ParticleIterator
std::list< PhotonTime > PhotonTimeContainer
PhotonTimeIterator PhotonTimesBegin()
SPEPulseIterator SPEPulsesEnd()
PEPulseContainer::iterator PEPulseIterator
void SetEnergyDepositMuons(const double edep)
ConstSPEPulseIterator SPEPulsesEnd() const
void AddEnergyDeposit(const double edep)
unsigned int fNumberOfElectrons
void IncrementNumberOfCornerClippingMuons()
SPEPulseContainer fSPEPulses
int GetNumberOfPEPulses() const
Scintillator level simulation data.
InternalParticleContainer::iterator InternalParticleIterator
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)
double GetPhotonTime(const PhotonTime &photon) const
void AddPhotonTime(const double t0)
unsigned int fNumberOfInjectedMuons
PhotonTimeIterator PhotonTimesEnd()
struct particle_info particle[80]
std::list< ParticlePtr > InternalParticleContainer
ParticleIterator ParticlesEnd()
unsigned int GetEnergyDepositMuons() const
PhotonTimeContainer::iterator PhotonTimeIterator
SPEPulseContainer::iterator SPEPulseIterator
unsigned int GetNumberOfParticles() const
ParticleIterator ParticlesBegin()
utl::ShadowPtr< utl::Particle > ParticlePtr
bool HasAnalogicTrace() const
std::list< PEPulse > PEPulseContainer
utl::ShadowPtr< utl::TraceD > fAnalogicTrace
ConstPEPulseIterator PEPulsesEnd() const
SPEPulseContainer::const_iterator ConstSPEPulseIterator
unsigned int GetNumberOfInjectedMuons() const
PEPulseContainer fPEPulses
int GetNumberOfPhotonTimes() const
ConstSPEPulseIterator SPEPulsesBegin() const
~ScintillatorSimData()=default
PEPulseIterator PEPulsesBegin()