Geant4 Cross Reference |
1 // Copyright (C) 2010, Guy Barrand. All rights reserved. 2 // See the file tools.license for terms. 3 4 #ifndef tools_sg_event_action 5 #define tools_sg_event_action 6 7 #include "matrix_action" 8 9 #include "event" 10 11 namespace tools { 12 namespace sg { 13 14 class event_action : public matrix_action { 15 TOOLS_ACTION(event_action,tools::sg::event_action,matrix_action) 16 public: 17 event_action(std::ostream& a_out,unsigned int a_ww,unsigned int a_wh,event& a_event) 18 :matrix_action(a_out,a_ww,a_wh) 19 ,m_event(a_event) 20 ,m_do_switch_children(false) 21 22 ,m_done(false) 23 {} 24 virtual ~event_action(){} 25 public: 26 event_action(const event_action& a_from) 27 :matrix_action(a_from) 28 ,m_event(a_from.m_event) 29 ,m_do_switch_children(a_from.m_do_switch_children) 30 31 ,m_done(false) 32 {} 33 event_action& operator=(const event_action& a_from){ 34 matrix_action::operator=(a_from); 35 m_do_switch_children = a_from.m_do_switch_children; 36 37 m_done = false; 38 return *this; 39 } 40 public: 41 void reset() { 42 matrix_action::reset(); 43 m_done = false; 44 } 45 46 const event& get_event() const {return m_event;} 47 event& get_event() {return m_event;} 48 49 void set_done(bool a_value) {m_done = a_value;} 50 bool done() const {return m_done;} 51 52 void set_do_switch_children(bool a_value) {m_do_switch_children = a_value;} 53 bool do_switch_children() const {return m_do_switch_children;} 54 protected: 55 event& m_event; 56 bool m_do_switch_children; 57 bool m_done; 58 }; 59 60 }} 61 62 #endif