SH::ScanDir Struct Reference

the class used for scanning local directories and file servers for samples More...

#include <ScanDir.h>

List of all members.

Public Member Functions

 ScanDir ()
 standard constructor
const ScanDirscan (SampleHandler &sh, const std::string &dir) const
 scan the given directory and put the created samples into the sample handler
const ScanDirscanEOS (SampleHandler &sh, const std::string &eosDir) const
 scan the given directory in EOS and put the created samples into the sample handler
const ScanDirscan (SampleHandler &sh, DiskList &list) const
ScanDirsampleDepth (int val_sampleDepth)
 the index of the file hierarchy at which we gather the sample name.
ScanDirabsSampleDepth (int val_absSampleDepth)
 the index of the file hierarchy at which we gather the sample name.
ScanDirsampleName (const std::string &val_sampleName)
 a single sample name into which all found files should be placed. if set, this overrides all other naming methods.
ScanDirminDepth (std::size_t val_minDepth)
 the minimum depth for files to make it into the sample
ScanDirmaxDepth (std::size_t val_maxDepth)
 the maximum depth for files to make it into the sample
ScanDirfilePattern (const std::string &val_filePattern)
 the pattern for files to be accepted
ScanDirfileRegex (const std::string &val_fileRegex)
 the regular expression for files to be accepted
ScanDirsamplePattern (const std::string &val_samplePattern)
 the pattern for samples to be accepted
ScanDirsamplePostfix (const std::string &val_samplePostfix)
 the pattern for the postfix to be stripped from the sampleName
ScanDirsampleRename (const std::string &pattern, const std::string &name)
 rename any sample matching pattern to name
ScanDirextraNameComponent (int val_relSampleDepth)
 attach an extra name component to the sample based on a second component of the path

Detailed Description

the class used for scanning local directories and file servers for samples

Originally these was a series of stand-alone function calls, but people kept asking for more and more options, making it unwieldy to call and to maintain. Instead we now have a single class containing all the possible parameters, which makes it easier to configure and extend.

The member functions all return *this, so that usage like this is possible:

   ScanDir()
     .filePattern ("*.root*")
     .scan (sh, "/data");

Constructor & Destructor Documentation

SH::ScanDir::ScanDir (  ) 

standard constructor

Guarantee
strong
Failures
out of memory I

Member Function Documentation

ScanDir & SH::ScanDir::absSampleDepth ( int  val_absSampleDepth  ) 

the index of the file hierarchy at which we gather the sample name.

this differs from sampleDepth in that negative numbers count up in the directory hierarchy from the top of where we scan, while sampleDepth starts counting from the back if the number is negative.

ScanDir & SH::ScanDir::extraNameComponent ( int  val_relSampleDepth  ) 

attach an extra name component to the sample based on a second component of the path

Precondition:
val_relSampleDepth != 0
ScanDir & SH::ScanDir::filePattern ( const std::string &  val_filePattern  ) 

the pattern for files to be accepted

See also:
filePatternRegex
ScanDir & SH::ScanDir::fileRegex ( const std::string &  val_fileRegex  ) 

the regular expression for files to be accepted

See also:
filePattern
ScanDir & SH::ScanDir::sampleDepth ( int  val_sampleDepth  ) 

the index of the file hierarchy at which we gather the sample name.

this is positive when it starts counting from the top, and negative when it starts from the back, i.e. -1 uses the file name, 0 denotes the directory inside the top level directory

const ScanDir & SH::ScanDir::scan ( SampleHandler sh,
DiskList list 
) const

scan the given directory and put the created samples into the sample handler

Returns:
*this
Guarantee
basic
Failures
out of memory III
i/o errors
duplicate samples

const ScanDir & SH::ScanDir::scan ( SampleHandler sh,
const std::string &  dir 
) const

scan the given directory and put the created samples into the sample handler

Returns:
*this
Guarantee
basic
Failures
out of memory III
i/o errors
duplicate samples
const ScanDir & SH::ScanDir::scanEOS ( SampleHandler sh,
const std::string &  eosDir 
) const

scan the given directory in EOS and put the created samples into the sample handler

Returns:
*this
Guarantee
basic
Failures
out of memory III
i/o errors
duplicate samples

The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 1 Dec 2017 for RootCore Packages by  doxygen 1.6.1