Import Geant4 10.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-12-09 12:35:28 +01:00
parent 4ec577e5c4
commit a3452e42ac
3514 changed files with 210500 additions and 89628 deletions
@@ -33,10 +33,7 @@ public:
public: //idir
virtual ifile& file() {return m_file;}
virtual seek seek_directory() const {return m_seek_directory;}
virtual void append_object(iobject* a_object) {
//take ownership of a_object
m_objs.push_back(a_object);
}
virtual void append_object(iobject* a_object) {m_objs.push_back(a_object);} //take ownership of a_object
public:
directory(ifile& a_file)
:m_file(a_file)
@@ -135,9 +132,8 @@ public:
m_seek_parent = m_parent->seek_directory();
uint32 nbytes = record_size();
wroot::key* key =
new wroot::key(m_file,m_parent->seek_directory(),
m_name,m_title,"TDirectory",nbytes); //set m_END
wroot::key* key = new wroot::key(m_file.out(),m_file,m_parent->seek_directory(),
m_name,m_title,"TDirectory",nbytes); // It does a m_file.set_END().
m_nbytes_name = key->key_length();
m_seek_directory = key->seek_key(); //at EOF
if(!m_seek_directory) {
@@ -159,14 +155,14 @@ public:
}}
uint16 cycle = m_parent->append_key(key);
key->set_cycle(cycle);
if(!key->write_self()) {
if(!key->write_self(m_file)) {
m_file.out() << "tools::wroot::directory::directory :"
<< " key.write_self() failed."
<< std::endl;
return; //FIXME : throw
}
uint32 n;
if(!key->write_file(n)) {
if(!key->write_file(m_file,n)) {
m_file.out() << "tools::wroot::directory::directory :"
<< " directory name " << sout(m_name)
<< " cannot write key to file."
@@ -259,7 +255,7 @@ public:
// Decode input buffer.
// (Name, title) are stored in the (name, title) of the associated key.
short version = class_version();
version += 1000; //GB : enforce writing on seek (and not seek32).
version += big_file_version_tag(); //GB : enforce writing on seek (and not seek32).
if(!a_wb.write(version)) return false;
if(!a_wb.write(m_date_C)) return false;
if(!a_wb.write(m_date_M)) return false;
@@ -289,8 +285,8 @@ public:
if(m_file.verbose()) {
m_file.out() << "tools::wroot::directory::write :"
<< " " << sout(m_name)
<< " : " << long_out(m_dirs.size())
<< " : " << long_out(m_objs.size())
<< " : " << m_dirs.size()
<< " : " << m_objs.size()
<< " objects."
<< std::endl;
}
@@ -404,7 +400,7 @@ protected:
//}
// Write new keys record :
uint32 nkeys = m_keys.size();
uint32 nkeys = uint32(m_keys.size());
// Compute size of all keys
uint32 nbytes = sizeof(nkeys);
@@ -413,15 +409,14 @@ protected:
nbytes += (*it)->key_length();
}}
key headerkey(m_file,m_seek_directory,
m_name,m_title,"TDirectory",nbytes);
key headerkey(m_file.out(),m_file,m_seek_directory,m_name,m_title,"TDirectory",nbytes); // m_file.set_END().
if(!headerkey.seek_key()) return false;
{char* buffer = headerkey.data_buffer();
wbuf wb(m_file.out(),m_file.byte_swap(),headerkey.eob(),buffer);
if(!wb.write(nkeys)) return false;
{tools_lforit(key*,m_keys,it) {
if(!((*it)->to_buffer(wb))) return false;
if(!((*it)->to_buffer(wb,m_file.verbose()))) return false;
}}}
m_seek_keys = headerkey.seek_key();
@@ -441,7 +436,7 @@ protected:
}
headerkey.set_cycle(1);
if(!headerkey.write_self()) {
if(!headerkey.write_self(m_file)) {
m_file.out() << "tools::wroot::directory::write_keys :"
<< " key.write_self() failed."
<< std::endl;
@@ -449,7 +444,7 @@ protected:
}
uint32 n;
return headerkey.write_file(n);
return headerkey.write_file(m_file,n);
}
bool write_header(){
@@ -498,10 +493,10 @@ protected:
//first create the key to get key_length();
wroot::key* key = new wroot::key(m_file,m_seek_directory,
wroot::key* key = new wroot::key(m_file.out(),m_file,m_seek_directory,
name,
a_obj.title(),a_obj.store_class_name(),
bref.length()); //set m_END
bref.length()); // It does a m_file.set_END().
if(!key->seek_key()) {
delete key;
@@ -528,7 +523,7 @@ protected:
uint16 cycle = append_key(key);
key->set_cycle(cycle);
if(!key->write_self()) {
if(!key->write_self(m_file)) {
m_file.out() << "tools::wroot::directory::write_object :"
<< " key.write_self() failed."
<< std::endl;
@@ -543,7 +538,7 @@ protected:
<< std::endl;
}
return key->write_file(a_nbytes);
return key->write_file(m_file,a_nbytes);
}
protected: