14   for( 
int i=0 ; i<(int)pl.size()-1 ; ++i ) 
 
   15     cout << 
"(" << pl[i] << 
")-" ;
 
   16   if( pl.size()>0 ) cout << 
"(" << pl.back() << 
")" ;
 
   25 int main( 
int argc, 
char** argv ) {
 
   27   TRandom* ran = 
new TRandom3(0) ;
 
   28   const int npaths = 5 ;
 
   29   char fname[100] = 
"out.paths" ;
 
   32   cout << 
"Writing some example paths to '" << fname << 
"'." << endl ;
 
   36   for( 
int n=0 ; 
n<npaths ; ++
n ) {
 
   38     int nscat = ran->Integer(6) ; 
 
   41     for( JPhotonPath::iterator it=path.begin() ; it!=path.end() ; ++it ) {
 
   42       double x = ran->Integer(50) ;
 
   43       double y = ran->Integer(50) ;
 
   44       double z = ran->Integer(50) ;
 
   58   reader.open(
"out.paths") ;
 
   62   cout << 
"Reading file" << endl ;
 
   63   while( reader.hasNext() ) {
 
   70   cout << 
"Done reading file. Read " << nread << 
" paths from it." << endl ;
 
   72   cout << 
"Done!" << endl ;
 
int main(int argc, char **argv)
 
void printPolyline(JPolyline3D &pl)
 
Data structure for polyline in three dimensions.
 
Data structure for vector in three dimensions.
 
virtual void open(const char *file_name) override
Open file.
 
virtual void close()=0
Close device.
 
virtual bool put(const T &object)=0
Object output.
 
Auxiliary classes and methods for 3D geometrical objects and operations.