7 #include "Geometry/GeometryCore.h" 24 _description =
"Cartesian segmentation in the local XY-plane with strip along the Y direction";
26 std::cout <<
"######### gar::geo::seg::SegmentationStripYAlg() " <<
std::endl ;
37 _description =
"Cartesian segmentation in the local XY-plane with strip along the Y direction";
39 std::cout <<
"######### gar::geo::seg::SegmentationStripYAlg() " <<
std::endl ;
78 std::array<double, 3> cellPosition;
88 cellPosition[1] = ( cellIndexY + 0.5 ) *
_stripSizeY;
106 double localX = localPosition[0];
107 double localY = localPosition[1];
155 TVector3 stripEnd1(0., 0., 0.);
156 TVector3 stripEnd2(0., 0., 0.);
160 stripEnd1.SetY(local[1]);
161 stripEnd2.SetY(local[1]);
162 stripEnd1.SetZ(local[2]);
163 stripEnd2.SetZ(local[2]);
165 return std::make_pair(stripEnd1, stripEnd2);
180 return std::make_pair(time1, time2);
191 if(
std::abs(pos) > stripLength / 2. ) pos = (pos > 0) ? stripLength / 2. : -stripLength / 2.;
193 std::array<double, 3> newlocal = {
pos, local[1], local[2]};
static constexpr double cm
const BitFieldCoder * _decoder
bool isBarrel(const gar::raw::CellID_t &cID) const override
double _frac
fraction of tiles to remove at the edge
std::pair< float, float > CalculateLightPropagation(const gar::geo::GeometryCore &geo, const std::array< double, 3 > &local, const gar::raw::CellID_t &cID) const override
void set(long64 &bitfield, size_t index, ulong64 value) const
Description of geometry of one entire detector.
double _layer_dim_X
layer dimension in X
SegmentationStripYAlg(fhicl::ParameterSet const &pset)
Default constructor used by derived classes passing the encoding string.
std::array< double, 3 > ReconstructStripHitPosition(const gar::geo::GeometryCore &geo, const std::array< double, 3 > &local, const float &xlocal, const gar::raw::CellID_t &cID) const override
double _layer_dim_Y
layer dimension in Y
std::array< double, 3 > GetPosition(const gar::geo::GeometryCore &geo, const gar::raw::CellID_t &cID) const override
Helper class for decoding and encoding a bit field of 64bits for convenient declaration.
T get(std::string const &key) const
void Initialize(const gar::geo::GeometryCore &geo) override
double getStripLength(const gar::geo::GeometryCore &geo, const std::array< double, 3 > &local, const gar::raw::CellID_t &cID) const override
unsigned int _nLayers
number of layers
double _stripSizeY
the strip size in Y
General GArSoft Utilities.
long64 get(long64 bitfield, size_t index) const
std::string _sliceId
the field name used for slice
bool isTile(const gar::raw::CellID_t &cID) const override
std::string _yId
the field name used for Y
void reconfigure(fhicl::ParameterSet const &pset) override
void PrintParameters() const override
std::pair< TVector3, TVector3 > getStripEnds(const gar::geo::GeometryCore &geo, const std::array< double, 3 > &local, const gar::raw::CellID_t &cID) const override
static constexpr double mm
void decode(std::any const &a, Hep2Vector &result)
std::string _encoding
the encoding string
LArSoft geometry interface.
std::string _xId
the field name used for X
gar::raw::CellID_t GetCellID(const gar::geo::GeometryCore &geo, const unsigned int &det_id, const unsigned int &stave, const unsigned int &module, const unsigned int &layer, const unsigned int &slice, const std::array< double, 3 > &localPosition) const override
determine the cell ID based on the position
QTextStream & endl(QTextStream &s)
std::string _layerId
the field name used for layer