LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
GeoObjectSorter.h
Go to the documentation of this file.
1 #ifndef GEO_GEOOBJECTSORTER_H
9 #define GEO_GEOOBJECTSORTER_H
10 
11 #include <vector>
12 
15 
16 namespace geo {
17 
18  class AuxDetSensitiveGeo;
19  class CryostatGeo;
20  class TPCGeo;
21  class PlaneGeo;
22  class WireGeo;
23  class OpDetGeo;
26  public:
27  virtual ~GeoObjectSorter() = default;
28 
29  virtual void SortAuxDets(std::vector<geo::AuxDetGeo>& adgeo) const = 0;
30  virtual void SortAuxDetSensitive(std::vector<geo::AuxDetSensitiveGeo>& adsgeo) const = 0;
31  virtual void SortCryostats(std::vector<geo::CryostatGeo>& cgeo) const = 0;
32  virtual void SortTPCs(std::vector<geo::TPCGeo>& tgeo) const = 0;
33  virtual void SortPlanes(std::vector<geo::PlaneGeo>& pgeo,
34  geo::DriftDirection_t driftDir) const = 0;
35  virtual void SortWires(std::vector<geo::WireGeo>& wgeo) const = 0;
36  virtual void SortOpDets(std::vector<geo::OpDetGeo>& opdet) const;
37  };
38 
39 }
40 
41 #endif // GEO_GEOOBJECTSORTER_H
virtual void SortTPCs(std::vector< geo::TPCGeo > &tgeo) const =0
virtual ~GeoObjectSorter()=default
virtual void SortAuxDets(std::vector< geo::AuxDetGeo > &adgeo) const =0
virtual void SortOpDets(std::vector< geo::OpDetGeo > &opdet) const
virtual void SortCryostats(std::vector< geo::CryostatGeo > &cgeo) const =0
enum geo::driftdir DriftDirection_t
Drift direction: positive or negative.
virtual void SortAuxDetSensitive(std::vector< geo::AuxDetSensitiveGeo > &adsgeo) const =0
Definition of data types for geometry description.
Encapsulate the geometry of an auxiliary detector.
virtual void SortPlanes(std::vector< geo::PlaneGeo > &pgeo, geo::DriftDirection_t driftDir) const =0
virtual void SortWires(std::vector< geo::WireGeo > &wgeo) const =0
Namespace collecting geometry-related classes utilities.