remage
Simulation framework for HPGe-based experiments
 
Loading...
Searching...
No Matches
RMGOpWLSProcess.hh
1// Copyright (C) 2024 Manuel Huber <https://orcid.org/0009-0000-5212-2999>
2//
3// This program is free software: you can redistribute it and/or modify it under
4// the terms of the GNU Lesser General Public License as published by the Free
5// Software Foundation, either version 3 of the License, or (at your option) any
6// later version.
7//
8// This program is distributed in the hope that it will be useful, but WITHOUT
9// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
11// details.
12//
13// You should have received a copy of the GNU Lesser General Public License
14// along with this program. If not, see <https://www.gnu.org/licenses/>.
15
16
17#ifndef _RMG_OP_WLS_PROCESS_
18#define _RMG_OP_WLS_PROCESS_
19
28
29#include "G4ParticleDefinition.hh"
30#include "G4Step.hh"
31#include "G4Track.hh"
32#include "G4VParticleChange.hh"
33#include "G4WrapperProcess.hh"
34#include "globals.hh"
35
37
38 public:
39
46 explicit RMGOpWLSProcess(const G4String& aNamePrefix = "RMG", G4ProcessType aType = fOptical);
47
51 virtual ~RMGOpWLSProcess() = default;
52
67 G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) override;
68
81 void BuildPhysicsTable(const G4ParticleDefinition& aParticleType) override;
82};
83#endif
RMGOpWLSProcess(const G4String &aNamePrefix="RMG", G4ProcessType aType=fOptical)
Constructs a new RMG Optical WLS process.
Definition RMGOpWLSProcess.cc:28
virtual ~RMGOpWLSProcess()=default
Virtual destructor.
void BuildPhysicsTable(const G4ParticleDefinition &aParticleType) override
Builds the physics table for the WLS process.
Definition RMGOpWLSProcess.cc:72
G4VParticleChange * PostStepDoIt(const G4Track &aTrack, const G4Step &aStep) override
Applies the custom optical WLS process in the post-step of a track.
Definition RMGOpWLSProcess.cc:31