LDMX Software
|
User action plugin that filters events that don't see a hard brem from the target undergo a photo-nuclear reaction in the ECal. More...
#include <EcalProcessFilter.h>
Public Member Functions | |
EcalProcessFilter (const std::string &name, framework::config::Parameters ¶meters) | |
~EcalProcessFilter () | |
Destructor. | |
void | stepping (const G4Step *step) override |
Method called after each simulation step. | |
G4ClassificationOfNewTrack | ClassifyNewTrack (const G4Track *aTrack, const G4ClassificationOfNewTrack ¤tTrackClass) override |
Classify a new track which postpones track processing. | |
std::vector< simcore::TYPE > | getTypes () override |
Retrieve the type of actions this class defines. | |
Public Member Functions inherited from simcore::UserAction | |
UserAction (const std::string &name, framework::config::Parameters ¶meters) | |
Constructor. | |
virtual | ~UserAction ()=default |
Destructor. | |
virtual void | BeginOfEventAction (const G4Event *) |
Method called at the beginning of every event. | |
virtual void | EndOfEventAction (const G4Event *) |
Method called at the end of every event. | |
virtual void | BeginOfRunAction (const G4Run *) |
Method called at the beginning of a run. | |
virtual void | EndOfRunAction (const G4Run *) |
Method called at the end of a run. | |
virtual void | PreUserTrackingAction (const G4Track *) |
Method called before the UserTrackingAction. | |
virtual void | PostUserTrackingAction (const G4Track *) |
Method called after the UserTrackingAction. | |
virtual void | NewStage () |
Method called at the beginning of a new stage. | |
virtual void | PrepareNewEvent () |
Method called at the beginning of a new event. | |
Private Attributes | |
G4Track * | currentTrack_ {nullptr} |
Pointer to the current track being processed. | |
std::string | process_ {""} |
Process to filter. | |
Additional Inherited Members | |
Public Types inherited from simcore::UserAction | |
using | Factory = ::simcore::Factory< UserAction, std::shared_ptr< UserAction >, const std::string &, framework::config::Parameters & > |
factory for user actions | |
Protected Member Functions inherited from simcore::UserAction | |
UserEventInformation * | getEventInfo () const |
Get a handle to the event information. | |
const std::map< int, ldmx::SimParticle > & | getCurrentParticleMap () const |
Get the current particle map. | |
Protected Attributes inherited from simcore::UserAction | |
std::string | name_ {""} |
Name of the UserAction. | |
framework::config::Parameters | parameters_ |
The set of parameters used to configure this class. | |
User action plugin that filters events that don't see a hard brem from the target undergo a photo-nuclear reaction in the ECal.
Definition at line 30 of file EcalProcessFilter.h.
biasing::EcalProcessFilter::EcalProcessFilter | ( | const std::string & | name, |
framework::config::Parameters & | parameters | ||
) |
Definition at line 19 of file EcalProcessFilter.cxx.
biasing::EcalProcessFilter::~EcalProcessFilter | ( | ) |
|
overridevirtual |
Classify a new track which postpones track processing.
Track processing resumes normally if a target PN interaction occurred.
aTrack | The Geant4 track. |
currentTrackClass | The current track classification. |
Reimplemented from simcore::UserAction.
Definition at line 27 of file EcalProcessFilter.cxx.
|
inlineoverridevirtual |
Retrieve the type of actions this class defines.
Implements simcore::UserAction.
Definition at line 56 of file EcalProcessFilter.h.
|
overridevirtual |
Method called after each simulation step.
TYPE::STEPPING
current | Geant4 step |
Check if the photon will be exiting the ecal
The 'hcal_PV' volume name is automatically constructed by Geant4's GDML parser and was found by inspecting the geometry using a visualization. This Physical Volume (PV) is associated with the hcal parent volume and so it will break if the hcal parent volume changes its name.
Reimplemented from simcore::UserAction.
Definition at line 49 of file EcalProcessFilter.cxx.
References simcore::UserTrackInformation::get(), and simcore::UserTrackInformation::tagBremCandidate().
|
private |
Pointer to the current track being processed.
Definition at line 62 of file EcalProcessFilter.h.
|
private |