ATLAS Offline Software
|
a base class that manages a set of files belonging to a particular data set and the associated meta-data. More...
#include <Sample.h>
Public Member Functions | |
void | testInvariant () const |
test the invariant of this object More... | |
virtual | ~Sample () |
standard destructor More... | |
const std::string & | name () const |
the name of the sample we are using More... | |
void | name (std::string val_name) |
set the value of name More... | |
std::size_t | numFiles () const |
the number of files in the sample More... | |
std::string | fileName (std::size_t index) const |
the name of the file with the given index More... | |
SamplePtr | makeLocal () const |
Make this a local sample, i.e. More... | |
const TagList & | tags () const |
the tag list we are using More... | |
void | tags (const TagList &tags) |
set the content of tags() More... | |
void | addTag (const std::string &tag) |
add a tag to the content of tags() More... | |
void | updateLocation (const std::string &from, const std::string &to) |
update all file references starting with from to to More... | |
MetaObject * | meta () |
the meta-information for this sample More... | |
const MetaObject * | meta () const |
the meta-information for this sample More... | |
std::vector< std::string > | makeFileList () const |
make a list of all files, prestaging them if necessary More... | |
TChain * | makeTChain () const |
create a TChain object, containing all these files More... | |
TObject * | readHist (const std::string &name) const |
read an object from a histogram file More... | |
bool | contains (const std::string &name) const |
whether this sample contains a sample of the given name More... | |
void | addSamples (SampleHandler &result) |
add all samples this sample corresponds to to the given sample handler More... | |
void | print () const |
print the debugging output to the screen More... | |
void | printContent () const |
print the debugging output to the screen More... | |
Long64_t | getNumEntries () const |
get the number of entries More... | |
TCollection * | metaDataList () |
get the meta-data list More... | |
const TCollection * | metaDataList () const |
get the meta-data list More... | |
void | removeMeta (const std::string &name) |
remove all meta-information with the given name More... | |
void | addReplaceMeta (TNamed *meta_swallow) |
add a meta-data object and remove any existing meta-data with the same name More... | |
TObject * | getMeta (const std::string &name) |
the meta-data object with the given name More... | |
const TObject * | getMeta (const std::string &name) const |
the meta-data object with the given name More... | |
double | getMetaDouble (const std::string &name, double def_val=0) const |
the meta-data double with the given name More... | |
std::string | getMetaString (const std::string &name, const std::string &def_val="") const |
the meta-data string with the given name More... | |
void | setMetaDouble (const std::string &name, double value) |
set the meta-data double with the given name More... | |
void | setMetaString (const std::string &name, const std::string &value) |
set the meta-data string with the given name More... | |
void | fetchMeta (const Sample &source) |
fetch the meta-data from the given sample. More... | |
Protected Member Functions | |
Sample (const std::string &name) | |
standard constructor More... | |
virtual std::size_t | getNumFiles () const =0 |
the number of files in the sample More... | |
virtual std::string | getFileName (std::size_t index) const =0 |
the name of the file with the given index More... | |
virtual SamplePtr | doMakeLocal () const =0 |
Make this a local sample, i.e. More... | |
virtual std::vector< std::string > | doMakeFileList () const =0 |
make a list of all files, prestaging them if necessary More... | |
virtual void | doUpdateLocation (const std::string &from, const std::string &to) |
update all file references starting with from to to More... | |
virtual TObject * | doReadHist (const std::string &name) const |
read an object from a histogram file More... | |
virtual bool | getContains (const std::string &name) const |
whether this sample contains a sample of the given name More... | |
virtual void | doAddSamples (SampleHandler &result) |
add all samples this sample corresponds to to the given sample handler More... | |
Private Member Functions | |
void | alloc () const |
increase the reference count by one More... | |
void | release () const |
decrease the reference count by one More... | |
Sample (const Sample &that) | |
Sample & | operator= (const Sample &that) |
ClassDef (Sample, 2) | |
Private Attributes | |
std::string | m_name |
the name of the sample we are using More... | |
TagList | m_tags |
the tag list we are using More... | |
MetaObject * | m_meta |
the meta-information for this sample More... | |
std::atomic< unsigned > | m_references |
the reference count More... | |
Friends | |
class | SamplePtr |
Related Functions | |
(Note that these are not member functions.) | |
std::string | dbg (const Sample &obj, unsigned verbosity=0) |
the debugging info of this object More... | |
a base class that manages a set of files belonging to a particular data set and the associated meta-data.
While for most people this is essentially just a fancy file list, it hides a lot of flexibility. Besides a simple file list, this could also be a sample on the grid, or on tape storage that first needs to be pre-staged before it can be used.
|
virtual |
standard destructor
|
protected |
standard constructor
void SH::Sample::addReplaceMeta | ( | TNamed * | meta_swallow | ) |
add a meta-data object and remove any existing meta-data with the same name
meta_swallow | the meta-object to add |
void SH::Sample::addSamples | ( | SampleHandler & | result | ) |
add all samples this sample corresponds to to the given sample handler
void SH::Sample::addTag | ( | const std::string & | tag | ) |
|
private |
increase the reference count by one
|
private |
bool SH::Sample::contains | ( | const std::string & | name | ) | const |
whether this sample contains a sample of the given name
|
protectedvirtual |
add all samples this sample corresponds to to the given sample handler
Reimplemented in SH::SampleComposite.
|
protectedpure virtual |
make a list of all files, prestaging them if necessary
Implemented in SH::SampleLocal, SH::SampleGrid, SH::SampleComposite, SH::SampleHist, and SH::SampleMeta.
|
protectedpure virtual |
Make this a local sample, i.e.
one which can be directly opened with TFile::Open
Implemented in SH::SampleLocal, SH::SampleGrid, SH::SampleComposite, SH::SampleHist, and SH::SampleMeta.
|
protectedvirtual |
read an object from a histogram file
Reimplemented in SH::SampleHist.
|
protectedvirtual |
update all file references starting with from to to
from | the original path to the data area |
to | the new path to the data area |
Reimplemented in SH::SampleLocal, SH::SampleComposite, and SH::SampleHist.
fetch the meta-data from the given sample.
fields that have a name that starts with "nc_" are not copied.
std::string SH::Sample::fileName | ( | std::size_t | index | ) | const |
the name of the file with the given index
index | the index of the file |
|
protectedvirtual |
whether this sample contains a sample of the given name
Reimplemented in SH::SampleComposite.
|
protectedpure virtual |
the name of the file with the given index
index | the index of the file |
Implemented in SH::SampleLocal, SH::SampleGrid, SH::SampleComposite, SH::SampleHist, and SH::SampleMeta.
TObject* SH::Sample::getMeta | ( | const std::string & | name | ) |
the meta-data object with the given name
name | the name of the meta-data object |
the meta-data object with the given name
name | the name of the meta-data object |
double SH::Sample::getMetaDouble | ( | const std::string & | name, |
double | def_val = 0 |
||
) | const |
the meta-data double with the given name
name | the name of the meta-data object |
dev_val | the value to return if no meta-data object of the given name exists, or if it does not have the right type |
std::string SH::Sample::getMetaString | ( | const std::string & | name, |
const std::string & | def_val = "" |
||
) | const |
the meta-data string with the given name
name | the name of the meta-data object |
dev_val | the value to return if no meta-data object of the given name exists, or if it does not have the right type |
Long64_t SH::Sample::getNumEntries | ( | ) | const |
get the number of entries
|
protectedpure virtual |
the number of files in the sample
Implemented in SH::SampleLocal, SH::SampleGrid, SH::SampleComposite, SH::SampleHist, and SH::SampleMeta.
std::vector<std::string> SH::Sample::makeFileList | ( | ) | const |
make a list of all files, prestaging them if necessary
SamplePtr SH::Sample::makeLocal | ( | ) | const |
Make this a local sample, i.e.
one which can be directly opened with TFile::Open
TChain* SH::Sample::makeTChain | ( | ) | const |
create a TChain object, containing all these files
MetaObject* SH::Sample::meta | ( | ) |
the meta-information for this sample
const MetaObject* SH::Sample::meta | ( | ) | const |
the meta-information for this sample
TCollection* SH::Sample::metaDataList | ( | ) |
get the meta-data list
const TCollection* SH::Sample::metaDataList | ( | ) | const |
get the meta-data list
const std::string& SH::Sample::name | ( | ) | const |
the name of the sample we are using
void SH::Sample::name | ( | std::string | val_name | ) |
set the value of name
std::size_t SH::Sample::numFiles | ( | ) | const |
the number of files in the sample
void SH::Sample::print | ( | ) | const |
print the debugging output to the screen
void SH::Sample::printContent | ( | ) | const |
print the debugging output to the screen
TObject* SH::Sample::readHist | ( | const std::string & | name | ) | const |
read an object from a histogram file
|
private |
decrease the reference count by one
void SH::Sample::removeMeta | ( | const std::string & | name | ) |
remove all meta-information with the given name
name | the meta-data name to remove |
void SH::Sample::setMetaDouble | ( | const std::string & | name, |
double | value | ||
) |
set the meta-data double with the given name
name | the name of the meta-data |
value | the value to which it is set |
set the meta-data string with the given name
name | the name of the meta-data |
value | the value to which it is set |
void SH::Sample::testInvariant | ( | ) | const |
test the invariant of this object
update all file references starting with from to to
from | the original path to the data area |
to | the new path to the data area |
the debugging info of this object
obj | the object to be presented |
verbosity | the level of verbosity (higher number -> more information) |
|
private |
|
private |
|
mutableprivate |
|
private |