10 #ifndef HERD_GGSDATAPROVIDER_H_ 11 #define HERD_GGSDATAPROVIDER_H_ 32 #ifndef GGSSMARTLOG_H_ 33 #define HERD_GGSDATAPROVIDER_H_UNDEF_LOGGING 37 #include "montecarlo/dataobjs/GGSTHits.h" 38 #include "montecarlo/readers/GGSTRootReader.h" 41 class GGSTMCTruthReader;
42 class GGSTHadrIntReader;
43 class GGSTPrimaryDisReader;
45 #ifdef HERD_GGSDATAPROVIDER_H_UNDEF_LOGGING 55 #include "data/DataProvider.h" 63 #include "TGeoManager.h" 132 bool Connect()
override;
135 using DataProvider::SetCurrentEvent;
142 bool SetCurrentEvent(
unsigned int event)
override;
145 using DataProvider::GetObject;
157 RetrievalResult GetObject(
const std::string &name, ObjectCategory category, ObjectWrapper &wrapper,
158 std::string &actualName)
override;
181 std::vector<std::string> FreeObjects(
const std::vector<std::string> &objs, Memory::Status memStatus)
override;
191 using ObjPrerequisite = std::pair<ObjDescriptor, std::function<void(DataReader *, DataReader *)>>;
209 const std::pair<std::string, std::vector<std::string>> m_caloHitsNames{
"caloHitsGGS", {
"caloHitsMC",
"caloHitsGeV"}};
210 const std::pair<std::string, std::vector<std::string>> m_fitHitsCollNames{
"fitHitsCollGGS",
211 {
"fitHitsCollMC",
"fitHitsCollGeV"}};
212 const std::pair<std::string, std::vector<std::string>> m_fitParticleHitsCollNames{
213 "fitParticleHitsCollGGS", {
"fitParticleHitsCollMC",
"fitParticleHitsCollGeV"}};
214 const std::pair<std::string, std::vector<std::string>> m_stkStripHitsCollNames{
"stkStripHitsCollGGS",
215 {
"stkHitsCollMC",
"stkHitsCollGeV"}};
216 const std::pair<std::string, std::vector<std::string>> m_stkWaferHitsCollNames{
217 "stkWaferHitsCollGGS", {
"stkWaferHitsCollMC",
"stkWaferHitsCollGeV"}};
218 const std::pair<std::string, std::vector<std::string>> m_stkWaferParticleHitsCollNames{
219 "stkWaferParticleHitsCollGGS", {
"stkWaferParticleHitsCollMC",
"stkWaferParticleHitsCollGeV"}};
220 const std::pair<std::string, std::vector<std::string>> m_scdStripHitsCollNames{
"scdStripHitsCollGGS",
221 {
"scdHitsCollMC",
"scdHitsCollGeV"}};
222 const std::pair<std::string, std::vector<std::string>> m_scdWaferHitsCollNames{
223 "scdWaferHitsCollGGS", {
"scdWaferHitsCollMC",
"scdWaferHitsCollGeV"}};
224 const std::pair<std::string, std::vector<std::string>> m_scdWaferParticleHitsCollNames{
225 "scdWaferParticleHitsCollGGS", {
"scdWaferParticleHitsCollMC",
"scdWaferParticleHitsCollGeV"}};
226 const std::pair<std::string, std::vector<std::string>> m_psdHitsCollNames{
"psdHitsCollGGS",
227 {
"psdHitsCollMC",
"psdHitsCollGeV"}};
228 const std::pair<std::string, std::vector<std::string>> m_psdParticleHitsCollNames{
229 "psdParticleHitsCollGGS", {
"psdParticleHitsCollMC",
"psdParticleHitsCollGeV"}};
230 const std::pair<std::string, std::vector<std::string>> m_mcTruthNames{
"mcTruth", {}};
std::pair< ObjDescriptor, std::function< void(DataReader *, DataReader *)> > ObjPrerequisite
Definition: GGSDataProvider.h:191
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
Data provider for Geant4 Monte Carlo data.
Definition: GGSDataProvider.h:117
DataReader * reader
Definition: GGSDataProvider.h:196
bool hasPrerequisites
Definition: GGSDataProvider.h:197
Definition: GGSDataProvider.h:192
std::vector< std::string > aliases
Definition: GGSDataProvider.h:194
std::string name
Definition: GGSDataProvider.h:193
ObjectCategory category
Definition: GGSDataProvider.h:195
std::unique_ptr< GGSSimReader > m_evReader
Definition: GGSDataProvider.h:233
unsigned int m_currReadEv
Definition: GGSDataProvider.h:185
std::vector< ObjPrerequisite > prerequisites
Definition: GGSDataProvider.h:201
std::unique_ptr< ParametricGeoReader > m_geoReader
Definition: GGSDataProvider.h:232
std::vector< ObjDescriptor > m_objDescriptors
Definition: GGSDataProvider.h:203
Base class for DataReaders.
Definition: DataReader.h:38
unsigned int m_currEv
Definition: GGSDataProvider.h:184
std::shared_ptr< GGSTRootReader > m_reader
Definition: GGSDataProvider.h:188