#include <DirOfGamma.h>
Definition at line 183 of file DirOfGamma.h.
Definition at line 177 of file DirOfGamma.cxx.
185 for (
unsigned int i = 0; i < src.size(); i++) {
186 Hit2D*
hit =
new Hit2D(detProp, src[i]);
192 for (
unsigned int i = 0; i <
fNbins; i++)
std::vector< art::Ptr< recob::Hit > > fHits
std::vector< Bin2D > fBins
std::vector< Hit2D * > fPoints2D
ems::DirOfGamma::~DirOfGamma |
( |
| ) |
|
|
inline |
Definition at line 189 of file DirOfGamma.h.
191 for (
unsigned int i = 0; i <
fPoints2D.size(); ++i)
std::vector< Hit2D * > fPoints2D
void ems::DirOfGamma::ComputeBaryCenter |
( |
| ) |
|
|
private |
Definition at line 204 of file DirOfGamma.cxx.
209 for (
unsigned int i = 0; i <
fPoints2D.size(); i++) {
215 double bx = nomx / denom;
216 double by = nomy / denom;
std::vector< Hit2D * > fPoints2D
void ems::DirOfGamma::ComputeFinalValues |
( |
| ) |
|
|
private |
void ems::DirOfGamma::ComputeMaxCharge |
( |
| ) |
|
|
private |
Definition at line 298 of file DirOfGamma.cxx.
301 for (
unsigned int i = 0; i <
fCandidates.size(); i++) {
std::vector< EndPoint > fCandidates
void ems::DirOfGamma::ComputeMaxDist |
( |
| ) |
|
|
private |
Definition at line 249 of file DirOfGamma.cxx.
251 double maxdist2 = 0.0;
253 for (
unsigned int id = 0;
id <
fBins.size();
id++) {
255 if (!
fBins[
id].Size())
continue;
257 Hit2D* candidate =
fBins[id].GetHits2D().front();
260 if (dist2 > maxdist2) { maxdist2 = dist2; }
double Dist2(const TVector2 &v1, const TVector2 &v2)
std::vector< Bin2D > fBins
void ems::DirOfGamma::FillBins |
( |
| ) |
|
|
private |
Definition at line 221 of file DirOfGamma.cxx.
223 TVector2 vstart(0, 1);
225 for (
unsigned int i = 0; i <
fPoints2D.size(); i++) {
228 float sinsign = (vstart.X() * vecp.Y()) - (vstart.Y() * vecp.X());
229 float cosine = (vstart * vecp) / (vstart.Mod() * vecp.Mod());
230 float theta = 180.0F * (std::acos(cosine)) / TMath::Pi();
233 double bin = double(360.0) / double(
fNbins);
236 id = int(theta / bin);
237 else if (sinsign < 0)
238 id = int(theta / bin) + (
fNbins / 2);
244 for (
unsigned int id = 0;
id <
fBins.size();
id++)
then echo echo For and will not be changed by echo further linking echo echo B echo The symbol is in the uninitialized data multiple common symbols may appear with the echo same name If the symbol is defined the common echo symbols are treated as undefined references For more echo details on common see the discussion of warn common echo in *Note Linker see the discussion of warn common echo in *Note Linker such as a global int variable echo as opposed to a large global array echo echo I echo The symbol is an indirect reference to another symbol This echo is a GNU extension to the a out object file format which is echo rarely used echo echo N echo The symbol is a debugging symbol echo echo R echo The symbol is in a read only data section echo echo S echo The symbol is in an uninitialized data section for small echo objects echo echo T echo The symbol is in the the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo W echo The symbol is a weak symbol that has not been specifically echo tagged as a weak object symbol When a weak defined symbol echo is linked with a normal defined the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo echo The symbol is a stabs symbol in an a out object file In echo this the next values printed are the stabs other echo the stabs desc and the stab type Stabs symbols are echo used to hold debugging information For more echo see *Note or object file format specific echo echo For Mac OS X
constexpr details::BinObj< T > bin(T value)
Returns a wrapper to print the specified data in binary format.
std::vector< Bin2D > fBins
std::vector< Hit2D * > fPoints2D
bool ems::DirOfGamma::FindCandidates |
( |
| ) |
|
|
private |
Definition at line 268 of file DirOfGamma.cxx.
271 unsigned int nbins =
fNbins * 4;
272 for (
unsigned int id = 0;
id <
fNbins;
id++) {
274 if (!
fBins[
id].Size())
continue;
276 std::vector<Hit2D*> points;
277 Hit2D* candidate2D =
fBins[id].GetHits2D().front();
279 for (
unsigned int i = 0; i <
fPoints2D.size(); i++) {
283 if ((distnorm > 0.5) && (dist2 < rad * rad)) points.push_back(
fPoints2D[i]);
286 if (
fBins[
id].Size() > 1) {
287 EndPoint ep(*candidate2D, points, nbins);
double Dist2(const TVector2 &v1, const TVector2 &v2)
std::vector< Bin2D > fBins
std::vector< EndPoint > fCandidates
std::vector< Hit2D * > fPoints2D
void ems::DirOfGamma::FindInitialPart |
( |
| ) |
|
|
private |
Definition at line 309 of file DirOfGamma.cxx.
311 double max_asymmetry = 0.0;
312 unsigned int saveid = 0;
315 double maxdist2 = 0.0;
316 double maxcharge = 0.0;
317 unsigned int idmaxdist = 0;
318 unsigned int idmaxcharge = 0;
320 for (
unsigned int i = 0; i <
fCandidates.size(); i++) {
323 if (dist2 > maxdist2) {
327 if (charge > maxcharge) {
334 unsigned int idmaxdistb = 0;
336 if ((i == idmaxdist) || (i == idmaxcharge))
continue;
339 if (dist2 > maxdist2) {
346 for (
unsigned int i = 0; i <
fCandidates.size(); i++) {
349 if ((i == idmaxdist) || (i == idmaxcharge) || (i == idmaxdistb)) {
350 if (asymmetry > max_asymmetry) {
351 max_asymmetry = asymmetry;
359 for (
unsigned int i = 0; i <
fCandidates.size(); i++) {
362 if ((i == idmaxdist) || (i == idmaxdistb)) {
363 if (asymmetry > max_asymmetry) {
364 max_asymmetry = asymmetry;
373 mf::LogError(
"DirOfGamma") <<
fCandidates.size() <<
"DirOfGamma - Find Initial Part problem.";
double Dist2(const TVector2 &v1, const TVector2 &v2)
std::vector< EndPoint > fCandidates
art::Ptr< recob::Hit > fStartHit
std::vector< art::Ptr< recob::Hit > > fIniHits
TVector2 const& ems::DirOfGamma::GetBaryCenterCm |
( |
| ) |
const |
|
inline |
std::vector<EndPoint> const& ems::DirOfGamma::GetCandidates |
( |
| ) |
const |
|
inline |
Definition at line 208 of file DirOfGamma.h.
std::vector< EndPoint > fCandidates
art::Ptr<recob::Hit> const& ems::DirOfGamma::GetFirstHit |
( |
| ) |
const |
|
inline |
Definition at line 231 of file DirOfGamma.h.
art::Ptr< recob::Hit > fStartHit
TVector2 const& ems::DirOfGamma::GetFirstPoint |
( |
| ) |
const |
|
inline |
std::vector<art::Ptr<recob::Hit> > const& ems::DirOfGamma::GetHits |
( |
| ) |
|
|
inline |
Definition at line 237 of file DirOfGamma.h.
std::vector< art::Ptr< recob::Hit > > fHits
std::vector<Hit2D*> const& ems::DirOfGamma::GetHits2D |
( |
| ) |
const |
|
inline |
Definition at line 202 of file DirOfGamma.h.
std::vector< Hit2D * > fPoints2D
const size_t ems::DirOfGamma::GetIdCandidate |
( |
| ) |
|
|
inline |
size_t const ems::DirOfGamma::GetIdCl |
( |
| ) |
const |
|
inline |
std::vector<art::Ptr<recob::Hit> > const& ems::DirOfGamma::GetIniHits |
( |
| ) |
const |
|
inline |
Definition at line 249 of file DirOfGamma.h.
std::vector< art::Ptr< recob::Hit > > fIniHits
void ems::DirOfGamma::SetIdCandidate |
( |
size_t |
id | ) |
|
|
inline |
Definition at line 214 of file DirOfGamma.h.
std::vector< EndPoint > fCandidates
art::Ptr< recob::Hit > fStartHit
std::vector< art::Ptr< recob::Hit > > fIniHits
TVector2 ems::DirOfGamma::fBaryCenter |
|
private |
std::vector<Bin2D> ems::DirOfGamma::fBins |
|
private |
size_t ems::DirOfGamma::fCandidateID |
|
private |
std::vector<EndPoint> ems::DirOfGamma::fCandidates |
|
private |
std::vector<art::Ptr<recob::Hit> > ems::DirOfGamma::fHits |
|
private |
size_t ems::DirOfGamma::fIdCl |
|
private |
std::vector<art::Ptr<recob::Hit> > ems::DirOfGamma::fIniHits |
|
private |
bool ems::DirOfGamma::fIsCandidateIDset |
|
private |
size_t ems::DirOfGamma::fNbins |
|
private |
float ems::DirOfGamma::fNormCharge |
|
private |
float ems::DirOfGamma::fNormDist |
|
private |
std::vector<Hit2D*> ems::DirOfGamma::fPoints2D |
|
private |
TVector2 ems::DirOfGamma::fStartPoint |
|
private |
The documentation for this class was generated from the following files: