33 void Add(TString name);
34 Int_t
GetNFiles()
const {
return _ListOfFiles->GetEntries();}
37 return _idxFile>0 ?
GetFileName(_idxFile-1) : TString();
43 return _ListOfFiles->At(_index[i])->GetTitle();
57 std::vector<long>
ReaderTags()const noexcept{
return _readerTags;}
60 const std::unique_ptr<clas12::clas12reader>&
C12ref()
const {
return _c12;}
61 const std::unique_ptr<clas12::clas12reader>*
C12ptr()
const {
return &_c12;}
66 return _totBeamCharge=_db.qa()->getChargeForRunlist(
GetRunNumbers());
77 _runNumbers.insert(ns.begin(),ns.end());
104 TObjArray* _ListOfFiles{
nullptr};
107 std::unique_ptr<clas12::clas12reader> _c12;
111 clas12::clas12databases _db;
113 Long64_t _Nrecords{-1};
114 std::vector<Int_t> _fileRecords;
116 std::vector<long> _readerTags;
117 std::vector<int> _index;
121 Double_t _totBeamCharge{0};
123 std::set<int> _runNumbers;
125 TString _rcdbFileName;
127 ClassDef(clas12root::HipoChain,1);
Definition clas12databases.h:23
Clas12root HIPO file reader.
Definition clas12reader.h:74
Int_t GetFileRecords(Int_t i) const
Definition HipoChain.h:46
void SetTotalBeamCharge(Double_t bc)
Definition HipoChain.h:73
const std::unique_ptr< clas12::clas12reader > & C12ref() const
Definition HipoChain.h:60
void Add(TString name)
Definition HipoChain.cpp:16
TString GetFileName(Int_t i) const
Definition HipoChain.h:41
Int_t CurrentFileNumber() const
Definition HipoChain.h:39
const std::unique_ptr< clas12::clas12reader > * C12ptr() const
Definition HipoChain.h:61
Double_t TotalBeamCharge() noexcept
Definition HipoChain.h:63
void SetReaderTags(std::vector< long > tags)
Definition HipoChain.h:56
HipoChain()
Definition HipoChain.cpp:9
void ConnectDataBases()
Definition HipoChain.h:81
void InsertRunNumbers(const std::set< int > &ns)
Definition HipoChain.h:76
TString CurrentFileName() const
Definition HipoChain.h:36
std::vector< long > ReaderTags() const noexcept
Definition HipoChain.h:57
Int_t GetNFiles() const
Definition HipoChain.h:34
Double_t GetTotalBeamCharge() const noexcept
Definition HipoChain.h:71
clas12::clas12databases * db()
Definition HipoChain.h:80
Bool_t ReallyNextFile()
Definition HipoChain.h:55
virtual Bool_t FirstFile()
Definition HipoChain.cpp:115
virtual Bool_t NextFile()
Definition HipoChain.cpp:97
clas12::clas12reader * GetC12Reader()
Definition HipoChain.cpp:140
Long64_t GetNRecords()
Definition HipoChain.cpp:29
void WriteRcdbData(TString filename)
Get the rcdb info for all the files in the chain.
Definition HipoChain.cpp:163
Int_t GetFileFromRecord(Long64_t irec)
Definition HipoChain.cpp:65
Long64_t GetRecordsToHere(Int_t ifile)
Definition HipoChain.cpp:57
virtual ~HipoChain()=default
HipoChain(HipoChain &&other)=delete
Bool_t Next()
Definition HipoChain.cpp:74
HipoChain & operator=(HipoChain &&other)=delete
std::set< int > GetRunNumbers() const
Definition HipoChain.h:75
HipoChain(const HipoChain &other)=delete
HipoChain & operator=(const HipoChain &other)=delete
Definition BankHist.cpp:6