00001 00002 // GeoSwimZCondition.cxx 00003 // 00004 // January 20, 2006 M.Ishitsuka First version for GeoSwimmer 00005 // ref. SwimZCondition.cxx 00006 // 00008 // $Id: GeoSwimZCondition.cxx,v 1.1 2007/10/04 07:20:01 ishi Exp $ 00009 // 00010 // Stop swimming a particle when z-condition is satisfied 00011 // Units for fZFinal, zFinal: meters 00012 // 00013 // seun@huhepl.harvard.edu 00015 #include "GeoSwimmer/GeoSwimZCondition.h" 00016 #include "GeoSwimmer/GeoSwimParticle.h" 00017 00018 #include <cmath> 00019 00020 GeoSwimZCondition::GeoSwimZCondition() : 00021 fZFinal(0.0) 00022 {} 00023 00024 //...................................................................... 00025 00026 GeoSwimZCondition::GeoSwimZCondition(double zFinal) : 00027 fZFinal(zFinal) 00028 {} 00029 00030 //...................................................................... 00031 00032 bool GeoSwimZCondition::Satisfied(const GeoSwimParticle& particle) 00033 { 00034 if ((particle.GetInitPosition().Z() < fZFinal 00035 && particle.GetPosition().Z() >= fZFinal) 00036 || (particle.GetInitPosition().Z() > fZFinal 00037 && particle.GetPosition().Z() <= fZFinal)) 00038 return true; 00039 00040 return false; 00041 } 00042 00043 //...................................................................... 00044 00045 void GeoSwimZCondition::SetZFinal(double zFinal) 00046 { 00047 fZFinal = zFinal; 00048 } 00049 00050 //...................................................................... 00051 00052 double GeoSwimZCondition::GetZFinal() 00053 { 00054 return fZFinal; 00055 } 00056
1.3.9.1