////////////////////////////////////////////////////////////////////////////// // // Extends the PMTOpticalModel and provides a PMT model that matches // SNOMAN 5_0294. The extension comprises of: Overwriting the Aluminium // refractive index, overwriting the Glass refractive index, introducing // a modified collection efficiency. // // Author: Phil G Jones // // REVISION HISTORY: // 05/11/2010 : P G Jones - New file // 2014-08-05 : P G Jones - Updated doxygen. // ////////////////////////////////////////////////////////////////////////////// #ifndef __RAT_PMTSNOMANOpticalModel_hh__ #define __RAT_PMTSNOMANOpticalModel_hh__ #include class G4Region; class G4LogicalVolume; namespace RAT { class PMTSNOMANOpticalModel : public PMTOpticalModel { public: // The constructor invoked with the model name, region of application and envelope flag. // // name: name of this model // region: region this model is applied in // params: parameters that control this models settings, index to RATDB // pmtVolume: PMT volume this model applies to // envelopeVolume: envelope volume this model applies to // photocathodeSurface: optical surface properties // mirrorSurface: optical surface properties PMTSNOMANOpticalModel( const G4String name, G4Region* const region, const std::string params, G4LogicalVolume* const pmtVolume, G4LogicalVolume* const envelopeVolume, G4OpticalSurface* const photocathodeSurface, G4OpticalSurface* const mirrorSurface ); // The method that does the actual tracking // // fastTrack: track to track // fastStep: result of tracking virtual void DoIt( const G4FastTrack& fastTrack, G4FastStep& fastStep ); protected: // Returns the probability that an absorbed hit caused a pe signal // // pmtID: PMT ID // position: position in local coordinates // energy: energy of the photon // weight: weight of the track >0 to be alive virtual G4double GetSignalProbability( const G4int pmtID, const G4ThreeVector position, const G4double energy, const G4double weight ); // MCE Parameters, see Optics6b G4double fA1; // Modified Collection Efficiency A1 parameter G4double fA2; // Modified Collection Efficiency A2 parameter G4double fA3; // Modified Collection Efficiency A3 parameter G4double fB1; // Modified Collection Efficiency B1 parameter G4double fB2; // Modified Collection Efficiency B2 parameter }; } //::RAT #endif