Warning, file /include/Geant4/G4Absorber.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef G4Absorber_hh
0027 #define G4Absorber_hh
0028
0029 #include "globals.hh"
0030 #include "G4KineticTrackVector.hh"
0031
0032 class G4KineticTrack;
0033
0034 class G4Absorber
0035 {
0036 public:
0037 G4Absorber(G4double cutOnP);
0038 ~G4Absorber();
0039
0040 G4bool WillBeAbsorbed(const G4KineticTrack & kt);
0041 G4bool Absorb(G4KineticTrack & kt, G4KineticTrackVector & tgt);
0042 G4KineticTrackVector * GetAbsorbers();
0043 G4KineticTrackVector * GetProducts();
0044 G4bool FindAbsorbers(G4KineticTrack & kt, G4KineticTrackVector & tgt);
0045 G4bool FindProducts(G4KineticTrack & kt);
0046
0047 private:
0048
0049 G4Absorber(const G4Absorber &right);
0050 const G4Absorber & operator=(const G4Absorber & right);
0051 G4bool operator==(const G4Absorber & right) const;
0052 G4bool operator!=(const G4Absorber & right) const;
0053
0054
0055 private:
0056 G4double theCutOnP;
0057 G4KineticTrackVector * theAbsorbers;
0058 G4KineticTrackVector * theProducts;
0059
0060 G4ThreeVector GetRandomDirection();
0061
0062
0063 };
0064
0065
0066 inline G4KineticTrackVector * G4Absorber::GetAbsorbers()
0067 {
0068 return theAbsorbers;
0069 }
0070
0071 inline G4KineticTrackVector * G4Absorber::GetProducts()
0072 {
0073 return theProducts;
0074 }
0075
0076 #endif
0077
0078