33 #ifndef G4SMARTFILTER_HH
34 #define G4SMARTFILTER_HH
52 virtual void Print(std::ostream& ostr)
const = 0;
55 virtual void Clear() = 0;
61 virtual void PrintAll(std::ostream& ostr)
const;
100 template <
typename T>
103 template <
typename T>
121 G4bool passed = Evaluate(
object);
124 if (fInvert) passed = !passed;
126 if (passed) fNPassed++;
137 template <
typename T>
145 ostr<<
"Active ? : " <<fActive<<
G4endl;
146 ostr<<
"Inverted ? : " <<fInvert<<
G4endl;
147 ostr<<
"#Processed : " <<fNProcessed<<
G4endl;
148 ostr<<
"#Passed : " <<fNPassed<<
G4endl;
151 template <
typename T>
164 template <
typename T>
171 template <
typename T>
178 template <
typename T>
185 template <
typename T>
192 template <
typename T>
199 template <
typename T>
void SetInvert(const G4bool &)
virtual void PrintAll(std::ostream &ostr) const
G4bool GetVerbose() const
G4SmartFilter(const G4String &name)
virtual void Print(std::ostream &ostr) const =0
G4bool Accept(const T &) const
void SetVerbose(const G4bool &)
virtual G4bool Evaluate(const T &) const =0
void Print(G4Element &ele)
G4GLOB_DLL std::ostream G4cout
void SetActive(const G4bool &)