4 // Author: I. Hrivnacova
6 // Class TG4G3CutVector
7 // --------------------
8 // Vector of kinetic energy cut values with
9 // convenient set/get methods.
11 #ifndef TG4_G3_CUT_VECTOR_H
12 #define TG4_G3_CUT_VECTOR_H
14 #include "TG4Globals.h"
23 TG4G3CutVector(const TG4G3CutVector& right);
24 virtual ~TG4G3CutVector();
27 TG4G3CutVector& operator=(const TG4G3CutVector& right);
28 G4double operator[](G4int index) const;
31 static G4double Tolerance();
32 static TG4G3Cut GetCut(const G4String& cutName);
33 static const G4String& GetCutName(TG4G3Cut cut);
36 void SetCut(TG4G3Cut cut, G4double cutValue);
38 G4bool Update(const TG4G3CutVector& vector);
39 void SetDeltaRaysOn(G4bool value);
42 G4String Format() const;
46 G4double GetMinEkineForGamma(const G4Track& track) const;
47 G4double GetMinEkineForElectron(const G4Track& track) const;
48 G4double GetMinEkineForEplus(const G4Track& track) const;
49 G4double GetMinEkineForChargedHadron(const G4Track& track) const;
50 G4double GetMinEkineForNeutralHadron(const G4Track& track) const;
51 G4double GetMinEkineForMuon(const G4Track& track) const;
52 G4double GetMinEkineForOther(const G4Track& track) const;
57 static void FillCutNameVector();
59 // static data members
60 static const G4double fgkDCUTEOff; //cut for delta rays by e- (if off)
61 static const G4double fgkDCUTMOff; //cut for delta rays by mu (if off)
62 static const G4double fgkTolerance; //tolerance for comparing cuts
63 static TG4StringVector fgCutNameVector; //vector of cut parameters names
66 TG4doubleVector fCutVector; //vector of kinetic energy cut values
67 G4bool fDeltaRaysOn;//delta rays process control
72 inline G4double TG4G3CutVector::Tolerance()
73 { return fgkTolerance; }
75 inline void TG4G3CutVector::SetDeltaRaysOn(G4bool value)
76 { fDeltaRaysOn = value; }
78 #endif //TG4_CUT_VECTOR_H