00001 #ifndef _ots_Visual3DEvent_h 00002 #define _ots_Visual3DEvent_h 00003 00004 #include <vector> 00005 00006 namespace ots 00007 { 00008 00009 class VisualHit 00010 { 00011 public: 00012 double x; 00013 double y; 00014 double z; 00015 double charge; 00016 VisualHit& operator*(double factor){this->x*=factor;this->y*=factor;this->z*=factor;return *this;} 00017 }; 00018 00019 class VisualTrack 00020 { 00021 public: 00022 double slopeX; 00023 double interceptX; 00024 double slopeY; 00025 double interceptY; 00026 }; 00027 00028 typedef std::vector<VisualHit> VisualHits; 00029 typedef std::vector<VisualTrack> VisualTracks; 00030 00031 class Visual3DEvent 00032 { 00033 public: 00034 00035 Visual3DEvent(){;} 00036 ~Visual3DEvent(void){;} 00037 00038 void addHit (VisualHit& hit) {hits_ .push_back(hit);} 00039 void addTrack(VisualTrack& track){tracks_.push_back(track);} 00040 00041 const VisualHits& getHits (void) const {return hits_;} 00042 const VisualTracks& getTracks(void) const {return tracks_;} 00043 private: 00044 VisualHits hits_; 00045 VisualTracks tracks_; 00046 }; 00047 00048 typedef std::vector<Visual3DEvent> Visual3DEvents; 00049 00050 } 00051 00052 #endif