1 #ifndef __JSUPPORT__JMULTIPLEFILESCANNER__
2 #define __JSUPPORT__JMULTIPLEFILESCANNER__
9 #include "TChainElement.h"
27 namespace JPP {
using namespace JSUPPORT; }
60 std::
vector<std::string>(1, file_name)
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();
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>
virtual const pointer_type & next()
Get next element.
JMultipleFileScanner_t & getFilelist()
Get file list.
JMultipleFileScanner(const JMultipleFileScanner< JTypelist_t > &input)
Copy constructor.
Interface for object iteration with rewinding.
JMultipleFileScanner()
Default constructor.
virtual ~JMultipleFileScanner()
Virtual destructor.
friend std::istream & operator>>(std::istream &in, JMultipleFileScanner_t &object)
Read file list from input.
JRewindableObjectIterator< T >::pointer_type pointer_type
JMultipleFileScanner()
Default constructor.
unsigned int skip_type
Type definition for number of objects to skip.
JMultipleFileScanner_t(const TChain &chain)
Constructor.
void setFilelist(const JMultipleFileScanner_t &file_list)
Set file list.
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Long64_t counter_type
Type definition for counter.
virtual skip_type skip(const skip_type ns)
Skip items.
JMultipleFileScanner_t(const std::string &file_name)
Constructor.
friend std::istream & operator>>(std::istream &in, JMultipleFileScanner &object)
Read multiple file scanner from input.
Template definition of auxiliary base class for data structures composed of multiple base classes wit...
void setFilelist(const TChain &chain)
Set file list.
Auxiliary class for defining the range of iterations of objects.
JMultipleFileScanner_t()
Default constructor.
Auxiliary class for recursive type list generation.
bool is_valid(const json &js)
Check validity of JSon data.
Auxiliary class for no type definition.
Template implementation of class that holds pointer to object(s).
const JMultipleFileScanner_t & getFilelist() const
Get file list.
const std::string & getFilename() const
Get current file name.
friend std::ostream & operator<<(std::ostream &out, const JMultipleFileScanner_t &object)
Write file list to output.
JMultipleFileScanner(const JMultipleFileScanner< JTypelist_t > &input)
Copy constructor.
virtual bool hasNext()
Check availability of next element.
JFileScanner< T > scanner
Auxiliary base class for list of file names.
JMultipleFileScanner::input_type input_type
JMultipleFileScanner(const JMultipleFileScanner< JTypelist_t > &input)
Copy constructor.
General purpose class for object reading from a list of file names.
virtual skip_type skip(const skip_type ns)
Skip items.
JMultipleFileScanner(const input_type &file_list, const JLimit &limit=JLimit())
Constructor.
friend std::ostream & operator<<(std::ostream &out, const JMultipleFileScanner &object)
Write multiple file scanner to output.
Object reading from file.
void configure(const input_type &input, const JLimit &limit)
Configure.
counter_type getCounter() const
Get counter.
JMultipleFileScanner::input_type input_type
virtual void rewind()
Constructor.
Auxiliaries for defining the range of iterations of objects.
JMultipleFileScanner::input_type input_type
JMultipleFileScanner()
Default constructor.
JMultipleFileScanner_t input_type
virtual void rewind()
Rewind.
JMultipleFileScanner()
Default constructor.