LArSoft  v10_06_00
Liquid Argon Software toolkit - https://larsoft.org/
G4InfoReducer Class Reference
Inheritance diagram for G4InfoReducer:
art::EDProducer art::detail::Producer art::detail::LegacyModule art::Modifier art::ModuleBase art::ProductRegistryHelper

Public Types

using ModuleType = EDProducer
 
template<typename UserConfig , typename KeysToIgnore = void>
using Table = Modifier::Table< UserConfig, KeysToIgnore >
 

Public Member Functions

 G4InfoReducer (fhicl::ParameterSet const &p)
 
 G4InfoReducer (G4InfoReducer const &)=delete
 
 G4InfoReducer (G4InfoReducer &&)=delete
 
G4InfoReduceroperator= (G4InfoReducer const &)=delete
 
G4InfoReduceroperator= (G4InfoReducer &&)=delete
 
void produce (art::Event &e) override
 
void doBeginJob (SharedResources const &resources)
 
void doEndJob ()
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenOutputFiles (FileBlock const &fb)
 
void doRespondToCloseOutputFiles (FileBlock const &fb)
 
bool doBeginRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doEndRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
 
void fillProductDescriptions ()
 
void registerProducts (ProductDescriptions &productsToRegister)
 
ModuleDescription const & moduleDescription () const
 
void setModuleDescription (ModuleDescription const &)
 
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables () const
 
void sortConsumables (std::string const &current_process_name)
 
std::unique_ptr< Worker > makeWorker (WorkerParams const &wp)
 
template<typename T , BranchType BT>
ViewToken< T > consumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< T > mayConsumeView (InputTag const &tag)
 

Protected Member Functions

ConsumesCollector & consumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > consumes (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > mayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

Private Attributes

art::InputTag fSedLabel
 module making the SimEnergyDeposit More...
 
double fMinX
 
double fMinY
 
double fMinZ
 bottom left coordinate of union of all TPC active volumes More...
 
double fVoxelSizeX
 
double fVoxelSizeY
 
double fVoxelSizeZ
 size of a voxel (cm) More...
 
double fElectronDriftVel
 electron drift velocity (cm/us) More...
 
bool fUseOrigTrackID
 
const geo::GeometryCorefGeometry
 

Detailed Description

Definition at line 32 of file G4InfoReducer_module.cc.

Member Typedef Documentation

Definition at line 17 of file EDProducer.h.

template<typename UserConfig , typename KeysToIgnore = void>
using art::detail::Producer::Table = Modifier::Table<UserConfig, KeysToIgnore>
inherited

Definition at line 26 of file Producer.h.

Constructor & Destructor Documentation

G4InfoReducer::G4InfoReducer ( fhicl::ParameterSet const &  p)
explicit

Definition at line 58 of file G4InfoReducer_module.cc.

References fElectronDriftVel, fGeometry, fMinX, fMinY, fMinZ, fSedLabel, fUseOrigTrackID, fVoxelSizeX, fVoxelSizeY, fVoxelSizeZ, and geo::Iterable< IterationPolicy, Transform >::Iterate().

59  : EDProducer{p} // ,
60  , fGeometry(*lar::providerFrom<geo::Geometry>())
61 {
62  fSedLabel = p.get<art::InputTag>("SimEnergyDepositLabel", "largeant:TPCActive");
63 
64  // Prepare for voxelization
65  fVoxelSizeX = p.get<double>("VoxelSizeX", 0.3);
66  fVoxelSizeY = p.get<double>("VoxelSizeY", 0.3);
67  fVoxelSizeZ = p.get<double>("VoxelSizeZ", 0.3);
68 
69  //Ionization electrons travel at ~1.6mm/us at 500 V/cm electric field --> 1.6/10 cm/us
70  fElectronDriftVel = p.get<double>("ElectronDriftVel", 0.16); //cm/us
71 
72  //Use orig track id
73  fUseOrigTrackID = p.get<bool>("useOrigTrackID", true);
74 
75  if (fVoxelSizeX <= 0. || fVoxelSizeY <= 0. || fVoxelSizeZ <= 0.) {
76  std::cerr << "Voxel size must be strictly greater than zero." << std::endl;
77  throw std::exception();
78  }
79 
80  double min_x = std::numeric_limits<double>::max();
81  double min_y = std::numeric_limits<double>::max();
82  double min_z = std::numeric_limits<double>::max();
83  for (geo::TPCGeo const& tpc : fGeometry.Iterate<geo::TPCGeo>()) {
84  auto const& tpcabox = tpc.ActiveBoundingBox();
85  min_x = std::min(min_x, tpcabox.MinX());
86  min_y = std::min(min_y, tpcabox.MinY());
87  min_z = std::min(min_z, tpcabox.MinZ());
88  }
89  auto const clockData = art::ServiceHandle<detinfo::DetectorClocksService const>()->DataForJob();
90  // Take into account TPC readout window size
91  fMinX = min_x + clockData.TriggerOffsetTPC() * fElectronDriftVel;
92  fMinY = min_y;
93  fMinZ = min_z;
94  //std::cout << "G4InfoReducer " << fMinX << " " << fMinY << " " << fMinZ << std::endl;
95  //std::cout << clockData.TriggerOffsetTPC() << std::endl;
96 
97  // Call appropriate produces<>() functions here.
98  produces<std::vector<sim::SimEnergyDepositLite>>();
99 
100  // Call appropriate consumes<>() for any products to be retrieved by this module.
101  consumes<std::vector<sim::SimEnergyDeposit>>(fSedLabel);
102 }
art::InputTag fSedLabel
module making the SimEnergyDeposit
EDProducer(fhicl::ParameterSet const &pset)
Definition: EDProducer.cc:6
Geometry information for a single TPC.
Definition: TPCGeo.h:33
const geo::GeometryCore & fGeometry
double fMinZ
bottom left coordinate of union of all TPC active volumes
double fElectronDriftVel
electron drift velocity (cm/us)
double fVoxelSizeZ
size of a voxel (cm)
range_type< T > Iterate() const
Definition: Iterable.h:121
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
G4InfoReducer::G4InfoReducer ( G4InfoReducer const &  )
delete
G4InfoReducer::G4InfoReducer ( G4InfoReducer &&  )
delete

Member Function Documentation

template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::consumes ( InputTag const &  tag)
protectedinherited

Definition at line 61 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumes().

62  {
63  return collector_.consumes<T, BT>(tag);
64  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ProductToken< T > consumes(InputTag const &)
ConsumesCollector & art::ModuleBase::consumesCollector ( )
protectedinherited

Definition at line 57 of file ModuleBase.cc.

References art::ModuleBase::collector_.

58  {
59  return collector_;
60  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename T , BranchType BT>
void art::ModuleBase::consumesMany ( )
protectedinherited

Definition at line 75 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumesMany().

76  {
77  collector_.consumesMany<T, BT>();
78  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::consumesView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::consumesView ( InputTag const &  tag)
inherited

Definition at line 68 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumesView().

69  {
70  return collector_.consumesView<T, BT>(tag);
71  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ViewToken< Element > consumesView(InputTag const &)
void art::detail::Producer::doBeginJob ( SharedResources const &  resources)
inherited

Definition at line 22 of file Producer.cc.

References art::detail::Producer::beginJobWithFrame(), and art::detail::Producer::setupQueues().

23  {
24  setupQueues(resources);
25  ProcessingFrame const frame{ScheduleID{}};
26  beginJobWithFrame(frame);
27  }
virtual void setupQueues(SharedResources const &)=0
virtual void beginJobWithFrame(ProcessingFrame const &)=0
bool art::detail::Producer::doBeginRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited

Definition at line 65 of file Producer.cc.

References art::detail::Producer::beginRunWithFrame(), art::RangeSet::forRun(), art::RunPrincipal::makeRun(), r, art::RunPrincipal::runID(), and art::ModuleContext::scheduleID().

66  {
67  auto r = rp.makeRun(mc, RangeSet::forRun(rp.runID()));
68  ProcessingFrame const frame{mc.scheduleID()};
69  beginRunWithFrame(r, frame);
70  r.commitProducts();
71  return true;
72  }
TRandom r
Definition: spectrum.C:23
virtual void beginRunWithFrame(Run &, ProcessingFrame const &)=0
static RangeSet forRun(RunID)
Definition: RangeSet.cc:51
bool art::detail::Producer::doBeginSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited

Definition at line 85 of file Producer.cc.

References art::detail::Producer::beginSubRunWithFrame(), art::RangeSet::forSubRun(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::SubRunPrincipal::subRunID().

86  {
87  auto sr = srp.makeSubRun(mc, RangeSet::forSubRun(srp.subRunID()));
88  ProcessingFrame const frame{mc.scheduleID()};
89  beginSubRunWithFrame(sr, frame);
90  sr.commitProducts();
91  return true;
92  }
virtual void beginSubRunWithFrame(SubRun &, ProcessingFrame const &)=0
static RangeSet forSubRun(SubRunID)
Definition: RangeSet.cc:57
void art::detail::Producer::doEndJob ( )
inherited

Definition at line 30 of file Producer.cc.

References art::detail::Producer::endJobWithFrame().

31  {
32  ProcessingFrame const frame{ScheduleID{}};
33  endJobWithFrame(frame);
34  }
virtual void endJobWithFrame(ProcessingFrame const &)=0
bool art::detail::Producer::doEndRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited

Definition at line 75 of file Producer.cc.

References art::detail::Producer::endRunWithFrame(), art::RunPrincipal::makeRun(), r, art::ModuleContext::scheduleID(), and art::Principal::seenRanges().

76  {
77  auto r = rp.makeRun(mc, rp.seenRanges());
78  ProcessingFrame const frame{mc.scheduleID()};
79  endRunWithFrame(r, frame);
80  r.commitProducts();
81  return true;
82  }
TRandom r
Definition: spectrum.C:23
virtual void endRunWithFrame(Run &, ProcessingFrame const &)=0
bool art::detail::Producer::doEndSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited

Definition at line 95 of file Producer.cc.

References art::detail::Producer::endSubRunWithFrame(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::Principal::seenRanges().

96  {
97  auto sr = srp.makeSubRun(mc, srp.seenRanges());
98  ProcessingFrame const frame{mc.scheduleID()};
99  endSubRunWithFrame(sr, frame);
100  sr.commitProducts();
101  return true;
102  }
virtual void endSubRunWithFrame(SubRun &, ProcessingFrame const &)=0
bool art::detail::Producer::doEvent ( EventPrincipal ep,
ModuleContext const &  mc,
std::atomic< std::size_t > &  counts_run,
std::atomic< std::size_t > &  counts_passed,
std::atomic< std::size_t > &  counts_failed 
)
inherited

Definition at line 105 of file Producer.cc.

References art::detail::Producer::checkPutProducts_, e, art::EventPrincipal::makeEvent(), art::detail::Producer::produceWithFrame(), and art::ModuleContext::scheduleID().

110  {
111  auto e = ep.makeEvent(mc);
112  ++counts_run;
113  ProcessingFrame const frame{mc.scheduleID()};
114  produceWithFrame(e, frame);
115  e.commitProducts(checkPutProducts_, &expectedProducts<InEvent>());
116  ++counts_passed;
117  return true;
118  }
bool const checkPutProducts_
Definition: Producer.h:70
Float_t e
Definition: plot.C:35
virtual void produceWithFrame(Event &, ProcessingFrame const &)=0
void art::detail::Producer::doRespondToCloseInputFile ( FileBlock const &  fb)
inherited

Definition at line 44 of file Producer.cc.

References art::detail::Producer::respondToCloseInputFileWithFrame().

45  {
46  ProcessingFrame const frame{ScheduleID{}};
48  }
virtual void respondToCloseInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Producer::doRespondToCloseOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 58 of file Producer.cc.

References art::detail::Producer::respondToCloseOutputFilesWithFrame().

59  {
60  ProcessingFrame const frame{ScheduleID{}};
62  }
virtual void respondToCloseOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Producer::doRespondToOpenInputFile ( FileBlock const &  fb)
inherited

Definition at line 37 of file Producer.cc.

References art::detail::Producer::respondToOpenInputFileWithFrame().

38  {
39  ProcessingFrame const frame{ScheduleID{}};
41  }
virtual void respondToOpenInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Producer::doRespondToOpenOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 51 of file Producer.cc.

References art::detail::Producer::respondToOpenOutputFilesWithFrame().

52  {
53  ProcessingFrame const frame{ScheduleID{}};
55  }
virtual void respondToOpenOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::Modifier::fillProductDescriptions ( )
inherited

Definition at line 10 of file Modifier.cc.

References art::ProductRegistryHelper::fillDescriptions(), and art::ModuleBase::moduleDescription().

11  {
13  }
void fillDescriptions(ModuleDescription const &md)
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:13
std::array< std::vector< ProductInfo >, NumBranchTypes > const & art::ModuleBase::getConsumables ( ) const
inherited

Definition at line 43 of file ModuleBase.cc.

References art::ModuleBase::collector_, and art::ConsumesCollector::getConsumables().

44  {
45  return collector_.getConsumables();
46  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables() const
std::unique_ptr< Worker > art::ModuleBase::makeWorker ( WorkerParams const &  wp)
inherited

Definition at line 37 of file ModuleBase.cc.

References art::ModuleBase::doMakeWorker(), and art::NumBranchTypes.

38  {
39  return doMakeWorker(wp);
40  }
virtual std::unique_ptr< Worker > doMakeWorker(WorkerParams const &wp)=0
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::mayConsume ( InputTag const &  tag)
protectedinherited

Definition at line 82 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsume().

83  {
84  return collector_.mayConsume<T, BT>(tag);
85  }
ProductToken< T > mayConsume(InputTag const &)
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename T , BranchType BT>
void art::ModuleBase::mayConsumeMany ( )
protectedinherited

Definition at line 96 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeMany().

97  {
98  collector_.mayConsumeMany<T, BT>();
99  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::mayConsumeView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::mayConsumeView ( InputTag const &  tag)
inherited

Definition at line 89 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeView().

90  {
91  return collector_.mayConsumeView<T, BT>(tag);
92  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ViewToken< Element > mayConsumeView(InputTag const &)
ModuleDescription const & art::ModuleBase::moduleDescription ( ) const
inherited

Definition at line 13 of file ModuleBase.cc.

References art::errors::LogicError.

Referenced by art::OutputModule::doRespondToOpenInputFile(), art::OutputModule::doWriteEvent(), art::Modifier::fillProductDescriptions(), art::OutputModule::makePlugins_(), art::OutputWorker::OutputWorker(), reco::shower::LArPandoraModularShowerCreation::produce(), art::Modifier::registerProducts(), and art::OutputModule::registerProducts().

14  {
15  if (md_.has_value()) {
16  return *md_;
17  }
18 
20  "There was an error while calling moduleDescription().\n"}
21  << "The moduleDescription() base-class member function cannot be called\n"
22  "during module construction. To determine which module is "
23  "responsible\n"
24  "for calling it, find the '<module type>:<module "
25  "label>@Construction'\n"
26  "tag in the message prefix above. Please contact artists@fnal.gov\n"
27  "for guidance.\n";
28  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::optional< ModuleDescription > md_
Definition: ModuleBase.h:55
G4InfoReducer& G4InfoReducer::operator= ( G4InfoReducer const &  )
delete
G4InfoReducer& G4InfoReducer::operator= ( G4InfoReducer &&  )
delete
void G4InfoReducer::produce ( art::Event e)
overridevirtual

Implements art::EDProducer.

Definition at line 104 of file G4InfoReducer_module.cc.

References DEFINE_ART_MODULE, sim::SimEnergyDepositLite::E(), fMinX, fMinY, fMinZ, fSedLabel, fUseOrigTrackID, fVoxelSizeX, fVoxelSizeY, fVoxelSizeZ, art::ProductRetriever::getValidHandle(), art::Event::put(), sim::SimEnergyDepositLite::T(), sim::SimEnergyDepositLite::TrackID(), x, sim::SimEnergyDepositLite::X(), y, sim::SimEnergyDepositLite::Y(), sim::SimEnergyDepositLite::Z(), and z.

105 {
106  // Implementation of required member function here.
107 
108  // Collect SimEnergyDeposit
109  auto handle = e.getValidHandle<std::vector<sim::SimEnergyDeposit>>(fSedLabel);
110  if (!handle.isValid()) {
111  // throw some error
112  std::cerr << "SimEnergyDeposit not found" << std::endl;
113  throw std::exception();
114  }
115 
116  struct comp {
117  bool operator()(sim::SimEnergyDepositLite lhs, sim::SimEnergyDepositLite rhs) const
118  {
119  if (lhs.X() < rhs.X()) return true;
120  if (lhs.X() > rhs.X()) return false;
121  if (lhs.Y() < rhs.Y()) return true;
122  if (lhs.Y() > rhs.Y()) return false;
123  if (lhs.Z() < rhs.Z()) return true;
124  if (lhs.Z() > rhs.Z()) return false;
125  return lhs.TrackID() < rhs.TrackID();
126  }
127  };
128  std::set<sim::SimEnergyDepositLite, comp> sedlite_v2;
129  sim::SimEnergyDepositLite sed_lite;
130  sim::SimEnergyDepositLite new_sed_lite;
131 
132  auto const& sed_v = *handle;
133 
134  /*double total_edep = 0.;
135  for (size_t idx = 0; idx < sed_v.size(); ++idx) {
136  total_edep += sed_v[idx].E();
137  }
138  std::cout << "total edep = " << total_edep << " count = " << sed_v.size() << std::endl;*/
139 
140  for (size_t idx = 0; idx < sed_v.size(); ++idx) {
141  auto const& sed = sed_v[idx];
142  // Voxelize coordinates to closest coordinate using fVoxelSize
143  double x = sed.X() - std::fmod(sed.X() - fMinX, fVoxelSizeX) + fVoxelSizeX / 2.;
144  double y = sed.Y() - std::fmod(sed.Y() - fMinY, fVoxelSizeY) + fVoxelSizeY / 2.;
145  double z = sed.Z() - std::fmod(sed.Z() - fMinZ, fVoxelSizeZ) + fVoxelSizeZ / 2.;
146 
147  // Copy info to SimEnergyDepositLite
148  if (fUseOrigTrackID) {
149  sed_lite =
150  sim::SimEnergyDepositLite(sed.E(), geo::Point_t(x, y, z), sed.T(), sed.OrigTrackID());
151  }
152  else {
153  sed_lite = sim::SimEnergyDepositLite(sed.E(), geo::Point_t(x, y, z), sed.T(), sed.TrackID());
154  }
155  auto it = sedlite_v2.find(sed_lite);
156  // Attempt to insert, if already exist we sum up energy deposit
157 
158  if (it != sedlite_v2.end()) {
159  double new_energy = sed_lite.E() + it->E();
160  double new_time = std::min(sed_lite.T(), it->T());
161  sedlite_v2.erase(it);
162  if (fUseOrigTrackID) {
163  new_sed_lite =
164  sim::SimEnergyDepositLite(new_energy, geo::Point_t(x, y, z), new_time, sed.OrigTrackID());
165  }
166  else {
167  new_sed_lite =
168  sim::SimEnergyDepositLite(new_energy, geo::Point_t(x, y, z), new_time, sed.TrackID());
169  }
170  sedlite_v2.insert(new_sed_lite);
171  }
172  else {
173  sedlite_v2.insert(std::move(sed_lite));
174  }
175  }
176 
177  /*double new_total_edep = 0.;
178  int counts = 0;
179 
180  for (auto it : sedlite_v2) {
181  new_total_edep += it.E();
182  counts += 1;
183  }
184  std::cout << "new total edep = " << new_total_edep << " with counts " << counts << " " << sedlite_v2.size() << std::endl;
185  */
186 
187  // Create vector for SEDLite
188  std::unique_ptr<std::vector<sim::SimEnergyDepositLite>> sedlite_v(
189  new std::vector<sim::SimEnergyDepositLite>(sedlite_v2.begin(), sedlite_v2.end()));
190 
191  // Store SEDLite in event
192  e.put(std::move(sedlite_v));
193 }
Float_t x
Definition: compare.C:6
art::InputTag fSedLabel
module making the SimEnergyDeposit
Float_t y
Definition: compare.C:6
geo::Length_t Y() const
Double_t z
Definition: plot.C:276
geo::Length_t Z() const
double fMinZ
bottom left coordinate of union of all TPC active volumes
geo::Length_t X() const
PutHandle< PROD > put(std::unique_ptr< PROD > &&edp, std::string const &instance={})
Definition: Event.h:77
double fVoxelSizeZ
size of a voxel (cm)
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:180
ValidHandle< PROD > getValidHandle(InputTag const &tag) const
Energy deposition in the active material (lite version).
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
void art::Modifier::registerProducts ( ProductDescriptions productsToRegister)
inherited

Definition at line 16 of file Modifier.cc.

References art::ModuleBase::moduleDescription(), and art::ProductRegistryHelper::registerProducts().

17  {
18  ProductRegistryHelper::registerProducts(productsToRegister,
20  }
void registerProducts(ProductDescriptions &productsToRegister, ModuleDescription const &md)
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:13
void art::ModuleBase::setModuleDescription ( ModuleDescription const &  md)
inherited

Definition at line 31 of file ModuleBase.cc.

References art::ModuleBase::md_.

32  {
33  md_ = md;
34  }
std::optional< ModuleDescription > md_
Definition: ModuleBase.h:55
void art::ModuleBase::sortConsumables ( std::string const &  current_process_name)
inherited

Definition at line 49 of file ModuleBase.cc.

References art::ModuleBase::collector_, and art::ConsumesCollector::sortConsumables().

50  {
51  // Now that we know we have seen all the consumes declarations,
52  // sort the results for fast lookup later.
53  collector_.sortConsumables(current_process_name);
54  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
void sortConsumables(std::string const &current_process_name)

Member Data Documentation

double G4InfoReducer::fElectronDriftVel
private

electron drift velocity (cm/us)

Definition at line 52 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer().

const geo::GeometryCore& G4InfoReducer::fGeometry
private

Definition at line 55 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer().

double G4InfoReducer::fMinX
private

Definition at line 50 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer(), and produce().

double G4InfoReducer::fMinY
private

Definition at line 50 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer(), and produce().

double G4InfoReducer::fMinZ
private

bottom left coordinate of union of all TPC active volumes

Definition at line 50 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer(), and produce().

art::InputTag G4InfoReducer::fSedLabel
private

module making the SimEnergyDeposit

Definition at line 49 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer(), and produce().

bool G4InfoReducer::fUseOrigTrackID
private

Definition at line 53 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer(), and produce().

double G4InfoReducer::fVoxelSizeX
private

Definition at line 51 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer(), and produce().

double G4InfoReducer::fVoxelSizeY
private

Definition at line 51 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer(), and produce().

double G4InfoReducer::fVoxelSizeZ
private

size of a voxel (cm)

Definition at line 51 of file G4InfoReducer_module.cc.

Referenced by G4InfoReducer(), and produce().


The documentation for this class was generated from the following file: