Measurement* getMeasurement(bhep::hit& hit) { EVector hit_pos(2,0); EVector meas_pos(3,0); meas_pos[0] = hit.x()[0]; meas_pos[1] = hit.x()[1]; meas_pos[2] = hit.x()[2]; hit_pos[0] = meas_pos[0]; hit_pos[1] = meas_pos[1]; //covariance and meastype hardwired for now. EMatrix cov(2,2,0); cov[0][0] = 1.; cov[1][1] = 1.; string meastype = "xy"; Measurement* me = new Measurement(); me->set_name(meastype); me->set_hv(HyperVector(hit_pos,cov)); me->set_name("volume", "Detector"); me->set_position( meas_pos ); //Add the hit energy deposit as a key to the Measurement. const dict::Key Edep = "E_dep"; const dict::Key EdepVal = hit.data("E_dep"); me->set_name(Edep, EdepVal); return me; }
Entity::Entity() { Measurement m; m.set_position(Eigen::Vector2d(-1,-1)); this->init(-1,m); }