37 #ifndef G4VTransitionRadiation_h 38 #define G4VTransitionRadiation_h 43 #include "G4ForceCondition.hh" 50 class G4particleDefinition;
69 virtual G4VParticleChange*
PostStepDoIt(
const G4Track& track,
108 *condition = StronglyForced;
110 *condition = NotForced;
111 if(track.GetKineticEnergy()/track.GetDefinition()->GetPDGMass() + 1.0 >
gammaMin &&
112 track.GetVolume()->GetLogicalVolume()->GetRegion() ==
region) {
113 *condition = StronglyForced;
120 #endif // G4VTransitionRadiation_h G4double condition(const G4ErrorSymMatrix &m)
G4ThreeVector startingDirection
G4ThreeVector startingPosition
static const G4double reg
G4VTransitionRadiation(const G4String &processName="TR", G4ProcessType type=fElectromagnetic)
virtual G4bool IsApplicable(const G4ParticleDefinition &aParticleType)
std::vector< G4ThreeVector > normals
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &step)
virtual G4double GetMeanFreePath(const G4Track &track, G4double, G4ForceCondition *condition)
G4VTransitionRadiation & operator=(const G4VTransitionRadiation &right)
void SetModel(G4VTRModel *m)
virtual void PrintInfoDefinition()
std::vector< const G4Material * > materials
virtual ~G4VTransitionRadiation()
std::vector< G4double > steps
void SetRegion(const G4Region *reg)