00001
00002
00003
00004
00005 #ifndef __TMUIMCHIT_V1_H__
00006 #define __TMUIMCHIT_V1_H__
00007
00008 #include<TDataType.h>
00009 #include<PHKey.hh>
00010 #include<TMuiMCHitO.h>
00011 #include<TMuiMCTwoPack.h>
00012 #include<PHException.h>
00013 #include<PHPoint.h>
00014
00015 class TMuiMCHitO_v1 : public TMuiMCHitO
00016 {
00017
00018 public:
00019
00020 TMuiMCHitO_v1();
00021
00022 TMuiMCHitO_v1(const Key& key, UShort_t arm, UShort_t plane, UShort_t index);
00023
00024 TMuiMCHitO_v1(const TMuiMCHitO* base_ptr);
00025 TMuiMCHitO_v1(const TMuiMCHitO& base_ref);
00026
00027 virtual ~TMuiMCHitO_v1() {;}
00028
00029 void add_twopack(UShort_t orient, UShort_t panel, UShort_t twopack_index){
00030 _twopack_list.push_back(TMuiMCTwoPack(orient, panel,twopack_index));
00031 }
00032
00033 void clear_twopack_list(){
00034 _twopack_list.clear();
00035 }
00036
00037 size_t get_n_twopack() const {
00038 return _twopack_list.size();
00039 }
00040
00041 const twopack_list* get_twopack_list() const {return &_twopack_list;}
00042
00043 twopack_list* get_mutable_twopack_list() {return &_twopack_list;}
00044
00045 Int_t get_track_id() const {return _track_id;}
00046
00047 Float_t get_x() const {return _x;}
00048
00049 Float_t get_y() const {return _y;}
00050
00051 Float_t get_z() const {return _z;}
00052
00053 PHPoint get_coord() const { return PHPoint(_x,_y,_z); }
00054
00055 Float_t get_px() const {return _px;}
00056
00057 Float_t get_py() const {return _py;}
00058
00059 Float_t get_pz() const {return _pz;}
00060
00061 Short_t get_pid() const { return _pid;}
00062
00063 UShort_t get_file_key() const { return _file_key;}
00064
00065 void set_track_id(Int_t track_id) { _track_id = track_id;}
00066
00067 void set_x(Float_t x) { _x = x; }
00068
00069 void set_y(Float_t y) { _y = y; }
00070
00071 void set_z(Float_t z) { _z = z; }
00072
00073 void set_px(Float_t px) { _px = px; }
00074
00075 void set_py(Float_t py) { _py = py; }
00076
00077 void set_pz(Float_t pz) { _pz = pz; }
00078
00079 void set_pid(Short_t pid) {_pid = pid;}
00080
00081 void set_file_key(UShort_t file_key) {_file_key = file_key;}
00082
00083 UShort_t get_arm() const {return _arm;}
00084
00085 UShort_t get_plane() const {return _plane;}
00086
00087 UShort_t get_index() const {return _index;}
00088
00089 void set_arm(UShort_t arm) { _arm = arm; }
00090
00091 void set_plane(UShort_t plane) { _plane = plane; }
00092
00093 void set_index(UShort_t index) { _index = index; }
00094
00095 void print(std::ostream& os = std::cout) const;
00096
00097 private:
00098
00099 UShort_t _arm;
00100 UShort_t _plane;
00101 UShort_t _index;
00102 Int_t _track_id;
00103 Float_t _x;
00104 Float_t _y;
00105 Float_t _z;
00106 Float_t _px;
00107 Float_t _py;
00108 Float_t _pz;
00109 Short_t _pid;
00110 UShort_t _file_key;
00111 twopack_list _twopack_list;
00112 ClassDef(TMuiMCHitO_v1,1)
00113 };
00114
00115 #endif
00116
00117
00118