///////////////////////////////////////////////////////////////////////////////
//
// Produces cerenkov photons under the SNOMAN assumptions. Just
// overrides the BuildThePhysicsTable to recalculate the the integral
// aspect with a constant average refractive index.
//
// Author: name Phil G Jones
//
// REVISION HISTORY:
// 10/09/2012 : P G Jones - New file
//
///////////////////////////////////////////////////////////////////////////////
#ifndef __SNOMANCerenkov__
#define __SNOMANCerenkov__
#include
class SNOMANCerenkov : public Cerenkov
{
public:
SNOMANCerenkov(const G4String& processName = "Cerenkov",
G4ProcessType type = fElectromagnetic) : Cerenkov( processName, type ) { }
virtual ~SNOMANCerenkov() { }
// Overridden by the SNOMANCerenkov (calculates the integral differently)
virtual void BuildThePhysicsTable();
// Overridden by the SNOMANCerenkov as has a higher beta cut off
virtual G4double GetAverageNumberOfPhotons(const G4double charge,
const G4double beta,
const G4Material* aMaterial,
G4MaterialPropertyVector* Rindex) const;
};
#endif /* __SNOMANCerenkov__ */