EMCTRUTH Class Reference

#include <AsciiData.hh>

Inheritance diagram for EMCTRUTH:

Tagged Tagged List of all members.

Public Member Functions

 EMCTRUTH ()
 EMCTRUTH ()
bool initialized () const
bool initialized () const
void set_initialized ()
void set_initialized ()
void unset_initalized ()
void unset_initalized ()

Public Attributes

int nTruth
std::vector< EmcTruthTypetruthCol
std::vector< EmcTruthTypetruthCol

Protected Member Functions

void check_start_tag (std::istream &is, const char *tag)
void check_start_tag (std::istream &is, const char *tag)
void check_end_tag (std::istream &is, const char *tag)
void check_end_tag (std::istream &is, const char *tag)

Friends

std::istreamoperator>> (std::istream &, EMCTRUTH &x)
std::ostreamoperator<< (std::ostream &, const EMCTRUTH &x)
std::istreamoperator>> (std::istream &, EMCTRUTH &x)
std::ostreamoperator<< (std::ostream &, const EMCTRUTH &x)

Detailed Description

Definition at line 167 of file AsciiData.hh.


Constructor & Destructor Documentation

EMCTRUTH::EMCTRUTH (  )  [inline]

Definition at line 169 of file AsciiData.hh.

00169 {};

EMCTRUTH::EMCTRUTH (  )  [inline]

Definition at line 169 of file AsciiData.h.

00169 {};


Member Function Documentation

void Tagged::check_end_tag ( std::istream is,
const char *  tag 
) [protected, inherited]

void Tagged::check_end_tag ( std::istream is,
const char *  tag 
) [inline, protected, inherited]

Definition at line 108 of file dmplib.hh.

References deljobs::string.

00109 {
00110     char c; 
00111     is >> c;
00112     if(c != '}') 
00113         throw AsciiNoEndChar();
00114 
00115     std::string in_tag;
00116     is >> in_tag;
00117     if(in_tag != tag) 
00118         throw AsciiWrongEndTag(tag, in_tag);
00119 }

void Tagged::check_start_tag ( std::istream is,
const char *  tag 
) [protected, inherited]

void Tagged::check_start_tag ( std::istream is,
const char *  tag 
) [inline, protected, inherited]

Definition at line 81 of file dmplib.hh.

References Tagged::set_initialized(), and deljobs::string.

00082 { 
00083     // read input, check for '{' character
00084     char c; 
00085     if(!(is >> c) || (c != '{')) {
00086         throw AsciiNoStartChar();
00087     }
00088 
00089     // compare tags
00090     std::string in_tag;
00091     is >> in_tag;
00092     if(in_tag != tag) 
00093       throw AsciiWrongStartTag(tag, in_tag);
00094 
00095     // check for empty block
00096     is >> c;
00097     if(c == '}') {
00098         is >> in_tag;
00099         if(in_tag != tag) 
00100             throw AsciiWrongEndTag(tag, in_tag);
00101     } else {
00102         is.putback(c); 
00103         set_initialized();
00104     }
00105 }

bool Tagged::initialized (  )  const [inherited]

bool Tagged::initialized (  )  const [inline, inherited]

Definition at line 63 of file dmplib.hh.

References Tagged::m_initialized.

00064 {
00065     return m_initialized;
00066 }

void Tagged::set_initialized (  )  [inherited]

void Tagged::set_initialized (  )  [inline, inherited]

Definition at line 69 of file dmplib.hh.

References Tagged::m_initialized.

Referenced by Tagged::check_start_tag(), main(), BesAsciiIO::SaveAsciiEvents(), and BesAsciiIO::SaveHitAsciiEvents().

00070 { 
00071     m_initialized = true; 
00072 }

void Tagged::unset_initalized (  )  [inherited]

void Tagged::unset_initalized (  )  [inline, inherited]

Definition at line 75 of file dmplib.hh.

References Tagged::m_initialized.

00076 { 
00077     m_initialized = false; 
00078 }


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream os,
const EMCTRUTH x 
) [friend]

Definition at line 343 of file AsciiData.cc.

00344 {
00345     os << std::endl << "{ EMCTRUTH" << std::endl;
00346     if(x.initialized()) {
00347     os << " " << x.nTruth;
00348     {for(int i = 0; i < x.nTruth; i++) {
00349         os << " " << x.truthCol[i];
00350     }}
00351     }
00352     os << std::endl << "} EMCTRUTH" << std::endl;
00353     return os;
00354 }

std::ostream& operator<< ( std::ostream os,
const EMCTRUTH x 
) [friend]

Definition at line 343 of file AsciiData.cc.

00344 {
00345     os << std::endl << "{ EMCTRUTH" << std::endl;
00346     if(x.initialized()) {
00347     os << " " << x.nTruth;
00348     {for(int i = 0; i < x.nTruth; i++) {
00349         os << " " << x.truthCol[i];
00350     }}
00351     }
00352     os << std::endl << "} EMCTRUTH" << std::endl;
00353     return os;
00354 }

std::istream& operator>> ( std::istream is,
EMCTRUTH x 
) [friend]

Definition at line 330 of file AsciiData.cc.

00331 {
00332     x.check_start_tag(is,"EMCTRUTH");
00333     if(!x.initialized()) return is;
00334     is >> x.nTruth;
00335     x.truthCol.resize(x.nTruth);
00336     {for(int i = 0; i < x.nTruth; i++) {
00337         is >> x.truthCol[i];
00338     }}
00339     x.check_end_tag(is, "EMCTRUTH");
00340     return is;
00341 }

std::istream& operator>> ( std::istream is,
EMCTRUTH x 
) [friend]

Definition at line 330 of file AsciiData.cc.

00331 {
00332     x.check_start_tag(is,"EMCTRUTH");
00333     if(!x.initialized()) return is;
00334     is >> x.nTruth;
00335     x.truthCol.resize(x.nTruth);
00336     {for(int i = 0; i < x.nTruth; i++) {
00337         is >> x.truthCol[i];
00338     }}
00339     x.check_end_tag(is, "EMCTRUTH");
00340     return is;
00341 }


Member Data Documentation

int EMCTRUTH::nTruth

Definition at line 169 of file AsciiData.hh.

Referenced by BesAsciiIO::SaveEmcTruth().

std::vector<EmcTruthType> EMCTRUTH::truthCol

Definition at line 172 of file AsciiData.h.

std::vector<EmcTruthType> EMCTRUTH::truthCol

Definition at line 172 of file AsciiData.hh.

Referenced by BesAsciiIO::SaveEmcTruth().


Generated on Tue Nov 29 23:18:47 2016 for BOSS_7.0.2 by  doxygen 1.4.7