 |
Belle II Software
release-05-02-19
|
14 #include <framework/core/FrameworkExceptions.h>
15 #include <mdst/dataobjects/MCParticleGraph.h>
16 #include <simulation/dataobjects/MCParticleTrajectory.h>
18 #include "G4VUserTrackInformation.hh"
19 #include "G4VUserPrimaryParticleInformation.hh"
28 namespace Simulation {
38 template<
class Info,
class Payload>
class UserInfo:
public Info {
102 template<
class Carrier>
static Payload
getInfo(Carrier& obj)
105 if (!userinfo)
throw(CouldNotFindUserInfo());
106 return userinfo->getData();
MCParticleTrajectory * getTrajectory()
Get optional particle trajectory.
static Payload getInfo(Carrier &obj)
Static function to just return UserInformation attached to the obj of type Carrier.
void setTrajectory(MCParticleTrajectory *trajectory)
Set the optional particle trajectory.
UserInfo(Payload data)
The constructor of the user info class.
UserInfo class which is used to attach additional information to Geant4 particles and tracks.
void setStatus(int status)
Set status of optical photon (used for performance speed-ups)
int getStatus()
Get status of optical photon (used for performance speed-ups) 0 initial 1 prescaled in StackingAction...
Class to save the full simulated trajectory of a particle.
Payload getData()
Returns the payloaded data.
void setFraction(double fraction)
Store optical photon propagation fraction (used for performance speed-ups)
Abstract base class for different kinds of events.
double getFraction()
Get optical photon propagation fraction (used for performance speed-ups) status=0: fraction=1 status=...
int m_status
optical photon: status
Payload m_data
The data which is payloaded to the specified class.
double m_fraction
optical photon: propagation fraction
MCParticleTrajectory * m_trajectory
Particle trajectory, if any.
#define BELLE2_DEFINE_EXCEPTION(ClassName, Message)
Macro that defines an exception with the given message template.
virtual void Print() const
Prints information, not implemented in this class.