// for poisson test // return number of hits above threshold scaled by m/z positions int CMSHit::CountHits(double Threshold, int MaxI, int High) { int i ; float retval(0); for(i = 0; i < GetHits(); i++) if(SetHitInfo(i).GetIntensity() > MaxI*Threshold) { if (SetHitInfo(i).GetMZ() > High/2) retval += 0.5 + 2.0*(High - SetHitInfo(i).GetMZ())/(float)High; else retval += 1.5 - 2.0*SetHitInfo(i).GetMZ()/(float)High; } return (int)(retval+0.5); }
// return number of hits above threshold int CMSHit::CountHits(double Threshold, int MaxI) { int i, retval(0); for(i = 0; i < GetHits(); i++) if(SetHitInfo(i).GetIntensity() > MaxI*Threshold) retval++; return retval; }
void CMSHit::RecordMatchesScan(CLadder& Ladder, int& iHitInfo, CMSPeak *Peaks, EMSPeakListTypes Which, int NOffset, int COffset) { try { SetSum() += Ladder.GetSum(); SetM() += Ladder.GetM(); // examine hits array int i; for(i = 0; i < Ladder.size(); i++) { // if hit, add to hitlist if(Ladder.GetHit()[i] > 0) { SetHitInfo(iHitInfo).SetCharge() = (char) Ladder.GetCharge(); SetHitInfo(iHitInfo).SetIonSeries() = (char) Ladder.GetType(); // if(kIonDirection[Ladder.GetType()] == 1) SetHitInfo(iHitInfo).SetNumber() = (short) i + NOffset; // else SetHitInfo(iHitInfo).SetNumber() = (short) i + COffset; SetHitInfo(iHitInfo).SetNumber() = Ladder.GetLadderNumber()[i]; SetHitInfo(iHitInfo).SetIntensity() = Ladder.GetIntensity()[i]; // for poisson test SetHitInfo(iHitInfo).SetMZ() = Ladder[i]; SetHitInfo(iHitInfo).SetDelta() = Ladder.GetDelta()[i]; // iHitInfo++; } } } catch (NCBI_NS_STD::exception& e) { ERR_POST(Info << "Exception caught in CMSHit::RecordMatchesScan: " << e.what()); throw; } }
void CActor::g_Physics (Fvector& _accel, float jump, float dt) { // Correct accel Fvector accel; accel.set (_accel); hit_slowmo -= dt; if (hit_slowmo<0) hit_slowmo = 0.f; accel.mul (1.f-hit_slowmo); if(g_Alive()) { if(mstate_real&mcClimb&&!cameras[eacFirstEye]->bClampYaw)accel.set(0.f,0.f,0.f); character_physics_support()->movement()->Calculate (accel,cameras[cam_active]->vDirection,0,jump,dt,false); bool new_border_state=character_physics_support()->movement()->isOutBorder(); if(m_bOutBorder!=new_border_state && Level().CurrentControlEntity() == this) { SwitchOutBorder(new_border_state); } character_physics_support()->movement()->GetPosition (Position()); character_physics_support()->movement()->bSleep =false; } if (Local() && g_Alive()) { if (character_physics_support()->movement()->gcontact_Was) Cameras().AddCamEffector (xr_new<CEffectorFall> (character_physics_support()->movement()->gcontact_Power)); if (!fis_zero(character_physics_support()->movement()->gcontact_HealthLost)) { const ICollisionDamageInfo* di=character_physics_support()->movement()->CollisionDamageInfo(); Fvector hdir;di->HitDir(hdir); SetHitInfo(this, NULL, 0, Fvector().set(0, 0, 0), hdir); // Hit (m_PhysicMovementControl->gcontact_HealthLost,hdir,di->DamageInitiator(),m_PhysicMovementControl->ContactBone(),di->HitPos(),0.f,ALife::eHitTypeStrike);//s16(6 + 2*::Random.randI(0,2)) if (Level().CurrentControlEntity() == this) { SHit HDS = SHit(character_physics_support()->movement()->gcontact_HealthLost,hdir,di->DamageInitiator(),character_physics_support()->movement()->ContactBone(),di->HitPos(),0.f,di->HitType()); // Hit(&HDS); NET_Packet l_P; HDS.GenHeader(GE_HIT, ID()); HDS.whoID = di->DamageInitiator()->ID(); HDS.weaponID = di->DamageInitiator()->ID(); HDS.Write_Packet(l_P); u_EventSend (l_P); } } } }
void CTblInfoView::OnAdd() { m_Operation = INFO_TYPE_INSERT; SetHitInfo(); }
void CTblInfoView::OnSearch() { m_Operation = INFO_TYPE_SELECT; SetHitInfo(); }
void CGameObject::OnEvent (NET_Packet& P, u16 type) { switch (type) { case GE_HIT: case GE_HIT_STATISTIC: { /* u16 id,weapon_id; Fvector dir; float power, impulse; s16 element; Fvector position_in_bone_space; u16 hit_type; float ap = 0.0f; P.r_u16 (id); P.r_u16 (weapon_id); P.r_dir (dir); P.r_float (power); P.r_s16 (element); P.r_vec3 (position_in_bone_space); P.r_float (impulse); P.r_u16 (hit_type); //hit type if ((ALife::EHitType)hit_type == ALife::eHitTypeFireWound) { P.r_float (ap); } CObject* Hitter = Level().Objects.net_Find(id); CObject* Weapon = Level().Objects.net_Find(weapon_id); SHit HDS = SHit(power, dir, Hitter, element, position_in_bone_space, impulse, (ALife::EHitType)hit_type, ap); */ SHit HDS; HDS.PACKET_TYPE = type; HDS.Read_Packet_Cont(P); // Msg("Hit received: %d[%d,%d]", HDS.whoID, HDS.weaponID, HDS.BulletID); CObject* Hitter = Level().Objects.net_Find(HDS.whoID); CObject* Weapon = Level().Objects.net_Find(HDS.weaponID); HDS.who = Hitter; if (!HDS.who) { Msg("! ERROR: hitter object [%d] is NULL on client.", HDS.whoID); } //------------------------------------------------------- switch (HDS.PACKET_TYPE) { case GE_HIT_STATISTIC: { if (GameID() != eGameIDSingle) Game().m_WeaponUsageStatistic->OnBullet_Check_Request(&HDS); }break; default: { }break; } SetHitInfo(Hitter, Weapon, HDS.bone(), HDS.p_in_bone_space, HDS.dir); Hit (&HDS); //--------------------------------------------------------------------------- if (GameID() != eGameIDSingle) { Game().m_WeaponUsageStatistic->OnBullet_Check_Result(false); game_cl_mp* mp_game = smart_cast<game_cl_mp*>(&Game()); if (mp_game->get_reward_generator()) mp_game->get_reward_generator()->OnBullet_Hit(Hitter, this, Weapon, HDS.boneID); } //--------------------------------------------------------------------------- } break; case GE_DESTROY: { if ( H_Parent() ) { Msg( "! ERROR (GameObject): GE_DESTROY arrived to object[%d][%s], that has parent[%d][%s], frame[%d]", ID(), cNameSect().c_str(), H_Parent()->ID(), H_Parent()->cName().c_str(), Device.dwFrame ); // This object will be destroy on call function <H_Parent::Destroy> // or it will be call <H_Parent::Reject> ==> H_Parent = NULL // !!! ___ it is necessary to be check! break; } #ifdef MP_LOGGING Msg("--- Object: GE_DESTROY of [%d][%s]", ID(), cNameSect().c_str()); #endif // MP_LOGGING setDestroy (TRUE); // MakeMeCrow (); } break; } }