Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

GeoSwimZCondition.cxx

Go to the documentation of this file.
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 

Generated on Mon Feb 15 11:06:46 2010 for loon by  doxygen 1.3.9.1