Go to the documentation of this file. 1 #ifndef __JSUPPORT__JMULTIPLEFILESCANNER__
2 #define __JSUPPORT__JMULTIPLEFILESCANNER__
9 #include "TChainElement.h"
60 std::vector<
std::string>(1, file_name)
82 return static_cast<const JMultipleFileScanner_t&>(*
this);
93 return static_cast<JMultipleFileScanner_t&>(*
this);
104 static_cast<JMultipleFileScanner_t&>(*
this) = file_list;
117 const TObjArray* array = chain.GetListOfFiles();
119 for (Int_t i = 0; i != array->GetEntries(); ++i) {
121 const TChainElement* p = (
const TChainElement*) array->At(i);
123 this->push_back(p->GetTitle());
137 for (std::string buffer; in >> buffer; ) {
138 object.push_back(buffer.c_str());
154 for (const_iterator i =
object.begin(); i !=
object.end(); ++i) {
155 out << *i << std::endl;
166 template<
class T = JNullType>
184 JTYPELIST<JLimit, JMultipleFileScanner_t>::typelist>
212 this->setFilelist(input);
213 this->setLimit (limit);
228 return in >>
object.getFilelist();
243 return out <<
object.getFilelist();
259 public JRewindableObjectIterator<T>
282 template<
class JTypelist_t>
314 return this->at(
index);
354 if (
counter < getUpperLimit() &&
index != this->size()) {
362 if (
counter < getLowerLimit()) {
416 while (this->
hasNext() && i != ns) {
443 template<
class JHead_t,
class JTail_t>
473 template<
class JTypelist_t>
515 throw JException(
"JMultipleFileScanner::skip(): inconsistent number of items skipped.");
523 template<
class JHead_t>
546 template<
class JTypelist_t>
friend std::istream & operator>>(std::istream &in, JMultipleFileScanner &object)
Read multiple file scanner from input.
unsigned int skip_type
Type definition for number of objects to skip.
Object reading from file.
JMultipleFileScanner()
Default constructor.
Auxiliary class for defining the range of iterations of objects.
Auxiliary base class for list of file names.
JMultipleFileScanner_t & getFilelist()
Get file list.
friend std::istream & operator>>(std::istream &in, JMultipleFileScanner_t &object)
Read file list from input.
JRewindableObjectIterator< T >::pointer_type pointer_type
JMultipleFileScanner(const JMultipleFileScanner< JTypelist_t > &input)
Copy constructor.
friend std::ostream & operator<<(std::ostream &out, const JMultipleFileScanner_t &object)
Write file list to output.
bool is_valid(const T &value)
Check validity of given value.
const std::string & getFilename() const
Get current file name.
JMultipleFileScanner(const input_type &file_list, const JLimit &limit=JLimit())
Constructor.
Auxiliary class for no type definition.
Auxiliary class for recursive type list generation.
void setFilelist(const JMultipleFileScanner_t &file_list)
Set file list.
JMultipleFileScanner_t(const TChain &chain)
Constructor.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Template implementation of class that holds pointer to object(s).
JMultipleFileScanner()
Default constructor.
virtual void rewind()
Rewind.
counter_type getCounter() const
Get counter.
void setFilelist(const TChain &chain)
Set file list.
JMultipleFileScanner ::input_type input_type
virtual const pointer_type & next()
Get next element.
JMultipleFileScanner_t(const std::string &file_name)
Constructor.
virtual bool hasNext()
Check availability of next element.
JMultipleFileScanner(const input_type &file_list, const JLimit &limit=JLimit())
Constructor.
const JMultipleFileScanner_t & getFilelist() const
Get file list.
JMultipleFileScanner(const JMultipleFileScanner< JTypelist_t > &input)
Copy constructor.
JMultipleFileScanner_t()
Default constructor.
Interface for object iteration with rewinding.
Template definition of auxiliary base class for composite data structures composed of base classes wi...
JMultipleFileScanner()
Default constructor.
virtual void rewind()
Rewind.
friend std::ostream & operator<<(std::ostream &out, const JMultipleFileScanner &object)
Write multiple file scanner to output.
void configure(const input_type &input, const JLimit &limit)
Configure.
General purpose class for object reading from a list of file names.
JMultipleFileScanner ::input_type input_type
virtual skip_type skip(const skip_type ns)
Skip items.
Support classes and methods for experiment specific I/O.
virtual ~JMultipleFileScanner()
Virtual destructor.
JMultipleFileScanner()
Default constructor.
JMultipleFileScanner_t input_type
JMultipleFileScanner ::input_type input_type
Long64_t counter_type
Type definition for counter.
JMultipleFileScanner(const JMultipleFileScanner< JTypelist_t > &input)
Copy constructor.
JMultipleFileScanner(const input_type &file_list, const JLimit &limit=JLimit())
Constructor.
virtual skip_type skip(const skip_type ns)
Skip items.
JFileScanner< T > scanner