All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
geo::GeoObjectSorterICARUS Class Reference

#include <GeoObjectSorterICARUS.h>

Inheritance diagram for geo::GeoObjectSorterICARUS:
geo::GeoObjectSorter

Public Member Functions

 GeoObjectSorterICARUS (fhicl::ParameterSet const &p)
 
void SortAuxDets (std::vector< geo::AuxDetGeo > &adgeo) const
 
void SortAuxDetSensitive (std::vector< geo::AuxDetSensitiveGeo > &adsgeo) const
 
void SortCryostats (std::vector< geo::CryostatGeo > &cgeo) const
 
void SortTPCs (std::vector< geo::TPCGeo > &tgeo) const
 
void SortPlanes (std::vector< geo::PlaneGeo > &pgeo, geo::DriftDirection_t driftDir) const
 
void SortWires (std::vector< geo::WireGeo > &wgeo) const
 
- Public Member Functions inherited from geo::GeoObjectSorter
virtual ~GeoObjectSorter ()=default
 
virtual void SortOpDets (std::vector< geo::OpDetGeo > &opdet) const
 

Detailed Description

Definition at line 20 of file GeoObjectSorterICARUS.h.

Constructor & Destructor Documentation

geo::GeoObjectSorterICARUS::GeoObjectSorterICARUS ( fhicl::ParameterSet const &  p)

Definition at line 88 of file GeoObjectSorterICARUS.cxx.

89  {
90  }

Member Function Documentation

void geo::GeoObjectSorterICARUS::SortAuxDets ( std::vector< geo::AuxDetGeo > &  adgeo) const
virtual

Implements geo::GeoObjectSorter.

Definition at line 93 of file GeoObjectSorterICARUS.cxx.

94  {
96  }
void SortAuxDetsStandard(std::vector< geo::AuxDetGeo > &adgeo)
Sorts ICARUS CRT modules in standard configuration.
void geo::GeoObjectSorterICARUS::SortAuxDetSensitive ( std::vector< geo::AuxDetSensitiveGeo > &  adsgeo) const
virtual

Implements geo::GeoObjectSorter.

Definition at line 99 of file GeoObjectSorterICARUS.cxx.

100  {
102  }
void SortAuxDetSensitiveStandard(std::vector< geo::AuxDetSensitiveGeo > &adsgeo)
Sorts ICARUS CRT submodules in standard configuration.
void geo::GeoObjectSorterICARUS::SortCryostats ( std::vector< geo::CryostatGeo > &  cgeo) const
virtual

Implements geo::GeoObjectSorter.

Definition at line 105 of file GeoObjectSorterICARUS.cxx.

106  {
107  std::sort(cgeo.begin(), cgeo.end(), sortCryoStandard);
108  }
static bool sortCryoStandard(const CryostatGeo &c1, const CryostatGeo &c2)
void geo::GeoObjectSorterICARUS::SortPlanes ( std::vector< geo::PlaneGeo > &  pgeo,
geo::DriftDirection_t  driftDir 
) const
virtual

Implements geo::GeoObjectSorter.

Definition at line 117 of file GeoObjectSorterICARUS.cxx.

119  {
120  // sort the planes to increase in drift direction
121  // The drift direction has to be set before this method is called. It is set when
122  // the CryostatGeo objects are sorted by the CryostatGeo::SortSubVolumes method
123  if (driftDir == geo::kPosX) std::sort(pgeo.rbegin(), pgeo.rend(), sortPlaneStandard);
124  else if(driftDir == geo::kNegX) std::sort(pgeo.begin(), pgeo.end(), sortPlaneStandard);
125  else if(driftDir == geo::kUnknownDrift)
126  throw cet::exception("TPCGeo") << "Drift direction is unknown, can't sort the planes\n";
127  }
Drift direction is unknown.
Definition: geo_types.h:158
Drift towards negative X values.
Definition: geo_types.h:162
static bool sortPlaneStandard(const PlaneGeo &p1, const PlaneGeo &p2)
Drift towards positive X values.
Definition: geo_types.h:161
void geo::GeoObjectSorterICARUS::SortTPCs ( std::vector< geo::TPCGeo > &  tgeo) const
virtual

Implements geo::GeoObjectSorter.

Definition at line 111 of file GeoObjectSorterICARUS.cxx.

112  {
113  std::sort(tgeo.begin(), tgeo.end(), sortTPCStandard);
114  }
static bool sortTPCStandard(const TPCGeo &t1, const TPCGeo &t2)
void geo::GeoObjectSorterICARUS::SortWires ( std::vector< geo::WireGeo > &  wgeo) const
virtual

Implements geo::GeoObjectSorter.

Definition at line 130 of file GeoObjectSorterICARUS.cxx.

131  {
132  std::sort(wgeo.begin(), wgeo.end(), sortWireStandard);
133  }
static bool sortWireStandard(WireGeo const &w1, WireGeo const &w2)

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