CMS 3D CMS Logo

Public Member Functions | Private Attributes

OutputFile Class Reference

#include <StreamerFileIO.h>

List of all members.

Public Member Functions

uint32 adler32 () const
uint64 current_offset () const
uint64 events () const
std::string fileName () const
uint64 first_event_offset () const
void inc_events ()
uint64 last_event_offset () const
 OutputFile (const std::string &name)
uint64 run () const
void set_current_offset (uint64 v)
void set_do_adler (bool v)
void set_events (uint64 v)
void set_first_event_offset (uint64 v)
void set_last_event_offset (uint64 v)
void set_run (uint64 v)
bool write (const char *ptr, size_t n)
 ~OutputFile ()

Private Attributes

uint32 adlera_
uint32 adlerb_
uint64 current_offset_
bool do_adler_
uint32 events_
std::string filename_
uint64 first_event_offset_
uint64 last_event_offset_
boost::shared_ptr< std::ofstream > ost_
uint32 run_

Detailed Description

This file contains Class definitions for the Class representing Output (Streamer) file. Class representing Output (Streamer) file.

Definition at line 16 of file StreamerFileIO.h.


Constructor & Destructor Documentation

OutputFile::OutputFile ( const std::string &  name) [explicit]

Definition at line 7 of file StreamerFileIO.cc.

References Exception, and ost_.

                                             :
    current_offset_(1), 
    first_event_offset_(0),
    last_event_offset_(0),
    events_(0),
    run_(0),
    do_adler_(0),
    adlera_(1),
    adlerb_(0),
    ost_(new std::ofstream(name.c_str(), std::ios_base::binary | std::ios_base::out)),
    filename_(name)
  {
    if(!ost_->is_open()) {
      throw cms::Exception("OutputFile","OutputFile")
        << "Error Opening Output File: "<<name<<"\n";
    }
    ost_->rdbuf()->pubsetbuf(0,0);
  }
OutputFile::~OutputFile ( )

CTOR, takes file path name as argument

Definition at line 26 of file StreamerFileIO.cc.

References ost_.

  {
    ost_->close();
  }

Member Function Documentation

uint32 OutputFile::adler32 ( ) const [inline]

Definition at line 36 of file StreamerFileIO.h.

References adlera_, and adlerb_.

{ return (adlerb_ << 16) | adlera_; }
uint64 OutputFile::current_offset ( ) const [inline]

Definition at line 31 of file StreamerFileIO.h.

References current_offset_.

{ return current_offset_; }
uint64 OutputFile::events ( ) const [inline]

Definition at line 34 of file StreamerFileIO.h.

References events_.

{ return events_; }
std::string OutputFile::fileName ( ) const [inline]

Definition at line 30 of file StreamerFileIO.h.

References filename_.

{ return filename_; }
uint64 OutputFile::first_event_offset ( ) const [inline]

Definition at line 32 of file StreamerFileIO.h.

References first_event_offset_.

{ return first_event_offset_; }
void OutputFile::inc_events ( ) [inline]

Definition at line 43 of file StreamerFileIO.h.

References events_.

{ ++events_; }
uint64 OutputFile::last_event_offset ( ) const [inline]

Definition at line 33 of file StreamerFileIO.h.

References last_event_offset_.

{ return last_event_offset_; }
uint64 OutputFile::run ( void  ) const [inline]

Definition at line 35 of file StreamerFileIO.h.

References run_.

{ return run_; }
void OutputFile::set_current_offset ( uint64  v) [inline]

Definition at line 39 of file StreamerFileIO.h.

References current_offset_, and v.

void OutputFile::set_do_adler ( bool  v) [inline]

Definition at line 38 of file StreamerFileIO.h.

References do_adler_, and v.

{ do_adler_ = v; }
void OutputFile::set_events ( uint64  v) [inline]

Definition at line 42 of file StreamerFileIO.h.

References events_, and v.

{ events_ = v; }
void OutputFile::set_first_event_offset ( uint64  v) [inline]

Definition at line 40 of file StreamerFileIO.h.

References first_event_offset_, and v.

void OutputFile::set_last_event_offset ( uint64  v) [inline]

Definition at line 41 of file StreamerFileIO.h.

References last_event_offset_, and v.

void OutputFile::set_run ( uint64  v) [inline]

Definition at line 44 of file StreamerFileIO.h.

References run_, and v.

{ run_ = v; }
bool OutputFile::write ( const char *  ptr,
size_t  n 
)

Definition at line 31 of file StreamerFileIO.cc.

References cms::Adler32(), adlera_, adlerb_, current_offset_, do_adler_, and ost_.

  {
    ost_->write(ptr,n);
    if(!ost_->fail()) {
      current_offset_ += (uint64)(n);
      if (do_adler_)
        cms::Adler32(ptr,n,adlera_,adlerb_);
      return 0;
    }
    return 1;
  }

Member Data Documentation

Definition at line 54 of file StreamerFileIO.h.

Referenced by adler32(), and write().

Definition at line 55 of file StreamerFileIO.h.

Referenced by adler32(), and write().

Definition at line 47 of file StreamerFileIO.h.

Referenced by current_offset(), set_current_offset(), and write().

bool OutputFile::do_adler_ [private]

Definition at line 53 of file StreamerFileIO.h.

Referenced by set_do_adler(), and write().

Definition at line 50 of file StreamerFileIO.h.

Referenced by events(), inc_events(), and set_events().

std::string OutputFile::filename_ [private]

Definition at line 58 of file StreamerFileIO.h.

Referenced by fileName().

Location of current ioptr

Definition at line 48 of file StreamerFileIO.h.

Referenced by first_event_offset(), and set_first_event_offset().

Definition at line 49 of file StreamerFileIO.h.

Referenced by last_event_offset(), and set_last_event_offset().

boost::shared_ptr<std::ofstream> OutputFile::ost_ [private]

Definition at line 57 of file StreamerFileIO.h.

Referenced by OutputFile(), write(), and ~OutputFile().

Definition at line 51 of file StreamerFileIO.h.

Referenced by run(), and set_run().