Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JTRIGGER::JMatch3G< JHit_t > Class Template Reference

3G match criterion. More...

#include <JMatch3G.hh>

Inheritance diagram for JTRIGGER::JMatch3G< JHit_t >:
JLANG::JClonable< JClonable_t, JDerived_t >

Public Types

typedef JClonable< JClonable_t >::clone_type clone_type
 

Public Member Functions

 JMatch3G (const double Dmax_m, const double Tmax_ns=0.0)
 Constructor.
 
virtual bool operator() (const JHit_t &first, const JHit_t &second) const override
 Match operator.
 
virtual clone_type clone () const override
 Get clone of this object.
 

Public Attributes

double DMax_m
 
double TMax_ns
 
double TMaxExtra_ns
 

Private Attributes

double x
 
double y
 
double z
 
double d
 
double t
 

Detailed Description

template<class JHit_t>
class JTRIGGER::JMatch3G< JHit_t >

3G match criterion.

This match algorithm is intented for shower signals.

Definition at line 29 of file JMatch3G.hh.

Member Typedef Documentation

◆ clone_type

template<class JClonable_t , class JDerived_t >
JClonable<JClonable_t>::clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone_type
inherited

Definition at line 61 of file JClonable.hh.

Constructor & Destructor Documentation

◆ JMatch3G()

template<class JHit_t >
JTRIGGER::JMatch3G< JHit_t >::JMatch3G ( const double Dmax_m,
const double Tmax_ns = 0.0 )
inline

Constructor.

Parameters
Dmax_mmaximal distance traveled by photon [m]
Tmax_nsmaximal extra time [ns]

Definition at line 39 of file JMatch3G.hh.

40 :
41 DMax_m (Dmax_m),
42 TMaxExtra_ns(Tmax_ns),
43 x(0.0),
44 y(0.0),
45 z(0.0),
46 d(0.0),
47 t(0.0)
48 {
49 TMax_ns = 0.5 * DMax_m * getIndexOfRefraction() * getInverseSpeedOfLight() + TMaxExtra_ns;
50 }

Member Function Documentation

◆ operator()()

template<class JHit_t >
virtual bool JTRIGGER::JMatch3G< JHit_t >::operator() ( const JHit_t & first,
const JHit_t & second ) const
inlineoverridevirtual

Match operator.

Parameters
firsthit
secondhit
Returns
match result

Definition at line 60 of file JMatch3G.hh.

61 {
62 t = fabs(first.getT() - second.getT());
63
64 if (t > TMax_ns) {
65 return false;
66 }
67
68 x = first.getX() - second.getX();
69 y = first.getY() - second.getY();
70 z = first.getZ() - second.getZ();
71 d = sqrt(x*x + y*y + z*z);
72
73 if (d <= 0.5 * DMax_m)
74 return t <= d * getIndexOfRefraction() * getInverseSpeedOfLight() + TMaxExtra_ns;
75 else if (d <= DMax_m)
76 return t <= (DMax_m - d) * getIndexOfRefraction() * getInverseSpeedOfLight() + TMaxExtra_ns;
77
78 return false;
79 }

◆ clone()

template<class JClonable_t , class JDerived_t >
virtual clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone ( ) const
inlineoverridevirtualinherited

Member Data Documentation

◆ DMax_m

template<class JHit_t >
double JTRIGGER::JMatch3G< JHit_t >::DMax_m

Definition at line 82 of file JMatch3G.hh.

◆ TMax_ns

template<class JHit_t >
double JTRIGGER::JMatch3G< JHit_t >::TMax_ns

Definition at line 83 of file JMatch3G.hh.

◆ TMaxExtra_ns

template<class JHit_t >
double JTRIGGER::JMatch3G< JHit_t >::TMaxExtra_ns

Definition at line 84 of file JMatch3G.hh.

◆ x

template<class JHit_t >
double JTRIGGER::JMatch3G< JHit_t >::x
mutableprivate

Definition at line 87 of file JMatch3G.hh.

◆ y

template<class JHit_t >
double JTRIGGER::JMatch3G< JHit_t >::y
mutableprivate

Definition at line 88 of file JMatch3G.hh.

◆ z

template<class JHit_t >
double JTRIGGER::JMatch3G< JHit_t >::z
mutableprivate

Definition at line 89 of file JMatch3G.hh.

◆ d

template<class JHit_t >
double JTRIGGER::JMatch3G< JHit_t >::d
mutableprivate

Definition at line 90 of file JMatch3G.hh.

◆ t

template<class JHit_t >
double JTRIGGER::JMatch3G< JHit_t >::t
mutableprivate

Definition at line 91 of file JMatch3G.hh.


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