51 if(charge>0.) myCharge = Positive;
52 else if(charge<0.) myCharge = Negative;
53 else myCharge = Neutral;
55 std::vector<MyCharge>::const_iterator iter = std::find(fCharges.begin(), fCharges.end(), myCharge);
58 if (iter == fCharges.end())
return false;
68 if (!ConvertToCharge(charge, myCharge)) {
70 ed <<
"Invalid charge "<<charge;
72 (
"G4TrajectoryChargeFilter::Add(const G4String& charge)",
83 fCharges.push_back(charge);
89 ostr<<
"Charges registered: "<<
G4endl;
90 std::vector<MyCharge>::const_iterator iter = fCharges.begin();
92 while (iter != fCharges.end()) {
106 G4TrajectoryChargeFilter::ConvertToCharge(
const G4String&
string, MyCharge& myCharge)
111 std::istringstream is(
string.c_str());
116 myCharge = G4TrajectoryChargeFilter::Positive;
119 myCharge = G4TrajectoryChargeFilter::Neutral;
122 myCharge = G4TrajectoryChargeFilter::Negative;
virtual void Print(std::ostream &ostr) const
std::ostringstream G4ExceptionDescription
G4TrajectoryChargeFilter(const G4String &name="Unspecified")
virtual ~G4TrajectoryChargeFilter()
virtual bool Evaluate(const G4VTrajectory &) const
G4GLOB_DLL std::ostream G4cout
virtual G4double GetCharge() const =0
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void Add(const G4String &particle)
G4bool GetVerbose() const