Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Track Class Reference

A Track is a list of Ray objects: it will document the complete trajectory of a particle. More...

#include <Track.h>

Inheritance diagram for Track:

GeomObject List of all members.

Public Types

typedef std::vector<Ray*> Raylist
typedef Raylist::const_iterator const_iterator
typedef Raylist::iterator iterator

Public Methods

 Track ( Ray* first, bool charged=true)
 constructor: must specify first ray and if not charged. More...

 ~Track ()
 destructor: deletes all rays in the list. More...

GeomObjecttransform (const CoordTransform&)
 virtual method to perform transformations that must be implemented by subclasses. More...

void addSegment ( Ray* next )
 add a new ray: assumes ownership. More...

Point position ( double s ) const
 position and direction. More...

Vector direction ( double s ) const
bool charged () const
const char* nameOf () const
 makes name available to subclasses using the type info facility. More...

void printOn ( std::ostream& os = std::cout ) const
 print info about this object. More...

const_iterator begin () const
const_iterator end () const
iterator begin ()
iterator end ()

Private Methods

void findSegment ( double s )

Private Attributes

bool m_charged
float arclength
Raylist rayList

Static Private Attributes

RaycurrentRay
double currentArcLength
float maxKink = 0.2f

Detailed Description

A Track is a list of Ray objects: it will document the complete trajectory of a particle.

Definition at line 15 of file Track.h.


Member Typedef Documentation

typedef std::vector<Ray*> Track::Raylist
 

Definition at line 38 of file Track.h.

typedef Raylist::const_iterator Track::const_iterator
 

Definition at line 40 of file Track.h.

typedef Raylist::iterator Track::iterator
 

Definition at line 41 of file Track.h.


Constructor & Destructor Documentation

Track::Track ( Ray * first,
bool charged = true )
 

constructor: must specify first ray and if not charged.

Definition at line 15 of file Track.cxx.

Track::~Track ( )
 

destructor: deletes all rays in the list.

Definition at line 23 of file Track.cxx.


Member Function Documentation

void Track::addSegment ( Ray * next )
 

add a new ray: assumes ownership.

Definition at line 49 of file Track.cxx.

iterator Track::begin ( ) [inline]
 

Definition at line 44 of file Track.h.

const_iterator Track::begin ( ) const [inline]
 

Definition at line 42 of file Track.h.

bool Track::charged ( ) const [inline]
 

Definition at line 32 of file Track.h.

Vector Track::direction ( double s ) const
 

Definition at line 89 of file Track.cxx.

iterator Track::end ( ) [inline]
 

Definition at line 45 of file Track.h.

const_iterator Track::end ( ) const [inline]
 

Definition at line 43 of file Track.h.

void Track::findSegment ( double s ) [private]
 

Definition at line 37 of file Track.cxx.

Referenced by direction(), and position().

const char * Track::nameOf ( ) const [inline, virtual]
 

makes name available to subclasses using the type info facility.

Reimplemented from GeomObject.

Definition at line 34 of file Track.h.

Point Track::position ( double s ) const
 

position and direction.

Definition at line 82 of file Track.cxx.

void Track::printOn ( std::ostream & os = std::cout ) const [virtual]
 

print info about this object.

Reimplemented from GeomObject.

Definition at line 74 of file Track.cxx.

GeomObject & Track::transform ( const CoordTransform & T ) [virtual]
 

virtual method to perform transformations that must be implemented by subclasses.

Reimplemented from GeomObject.

Definition at line 31 of file Track.cxx.


Member Data Documentation

float Track::arclength [private]
 

Definition at line 61 of file Track.h.

double Track::currentArcLength [static, private]
 

Definition at line 10 of file Track.cxx.

Ray * Track::currentRay [static, private]
 

Definition at line 9 of file Track.cxx.

bool Track::m_charged [private]
 

Definition at line 60 of file Track.h.

float Track::maxKink = 0.2f [static, private]
 

Definition at line 13 of file Track.cxx.

Raylist Track::rayList [private]
 

Definition at line 64 of file Track.h.


The documentation for this class was generated from the following files:
Generated at Mon Nov 26 18:18:25 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000