Jpp
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
JTRIGGER::JMatch3B< JHit_t > Class Template Reference

3D match criterion with road width. More...

#include <JMatch3B.hh>

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

Public Types

typedef JClonable< JClonable_t >::clone_type clone_type
 

Public Member Functions

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

Public Attributes

double roadWidth_m
 
double TMaxExtra_ns
 

Private Attributes

double D0
 
double D1
 
double D2
 
double x
 
double y
 
double z
 
double d
 
double t
 
double dmin
 
double dmax
 
double D02
 
double D12
 
double D22
 
double Rs2
 
double Rst
 
double Rt
 
double R2
 
double d2
 

Detailed Description

template<class JHit_t>
class JTRIGGER::JMatch3B< JHit_t >

3D match criterion with road width.

This match algorithm is intented for muon signals.

B. Bakker, "Trigger studies for the Antares and KM3NeT detector.", Master thesis, University of Amsterdam.

Definition at line 34 of file JMatch3B.hh.

Member Typedef Documentation

◆ clone_type

template<class JClonable_t, class JDerived_t>
typedef 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

◆ JMatch3B()

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

Constructor.

Parameters
road_width_mmaximal road width [m]
Tmax_nsmaximal extra time [ns]

Definition at line 44 of file JMatch3B.hh.

45  :
46  roadWidth_m (road_width_m),
47  TMaxExtra_ns(Tmax_ns)
48  {
49  //
50  // calculation D2 in thesis is wrong, here correct
51  //
52  const double tt2 = getTanThetaC() * getTanThetaC();
53 
54  D0 = roadWidth_m;
55  D1 = roadWidth_m * 2.0;
56  D2 = roadWidth_m * 0.5 * sqrt(tt2 + 10.0 + 9.0/tt2);
57 
58  D02 = D0 * D0;
59  D12 = D1 * D1;
60  D22 = D2 * D2;
61 
62  const double R = roadWidth_m;
63  const double Rs = R * getSinThetaC();
64 
65  R2 = R * R;
66  Rs2 = Rs * Rs;
67  Rst = Rs * getTanThetaC();
68  Rt = R * getTanThetaC();
69  }

Member Function Documentation

◆ operator()()

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

Match operator.

Parameters
firsthit
secondhit
Returns
match result

Definition at line 79 of file JMatch3B.hh.

80  {
81  x = first.getX() - second.getX();
82  y = first.getY() - second.getY();
83  z = first.getZ() - second.getZ();
84  d2 = x*x + y*y + z*z;
85  t = fabs(first.getT() - second.getT());
86 
87  if (d2 < D02)
88  dmax = sqrt(d2) * getIndexOfRefraction();
89  else
90  dmax = sqrt(d2 - Rs2) + Rst;
91 
93  return false;
94  }
95 
96  if (d2 > D22)
97  dmin = sqrt(d2 - R2) - Rt;
98  else if (d2 > D12)
99  dmin = sqrt(d2 - D12);
100  else
101  return true;
102 
103  return t >= dmin * getInverseSpeedOfLight() - TMaxExtra_ns;
104  }

◆ clone()

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

Member Data Documentation

◆ roadWidth_m

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::roadWidth_m

Definition at line 107 of file JMatch3B.hh.

◆ TMaxExtra_ns

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

Definition at line 108 of file JMatch3B.hh.

◆ D0

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::D0
private

Definition at line 111 of file JMatch3B.hh.

◆ D1

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::D1
private

Definition at line 112 of file JMatch3B.hh.

◆ D2

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::D2
private

Definition at line 113 of file JMatch3B.hh.

◆ x

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

Definition at line 114 of file JMatch3B.hh.

◆ y

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

Definition at line 115 of file JMatch3B.hh.

◆ z

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

Definition at line 116 of file JMatch3B.hh.

◆ d

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

Definition at line 117 of file JMatch3B.hh.

◆ t

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

Definition at line 118 of file JMatch3B.hh.

◆ dmin

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::dmin
mutableprivate

Definition at line 119 of file JMatch3B.hh.

◆ dmax

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::dmax
mutableprivate

Definition at line 120 of file JMatch3B.hh.

◆ D02

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::D02
private

Definition at line 122 of file JMatch3B.hh.

◆ D12

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::D12
private

Definition at line 123 of file JMatch3B.hh.

◆ D22

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::D22
private

Definition at line 124 of file JMatch3B.hh.

◆ Rs2

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::Rs2
private

Definition at line 125 of file JMatch3B.hh.

◆ Rst

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::Rst
private

Definition at line 126 of file JMatch3B.hh.

◆ Rt

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::Rt
private

Definition at line 127 of file JMatch3B.hh.

◆ R2

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::R2
private

Definition at line 128 of file JMatch3B.hh.

◆ d2

template<class JHit_t>
double JTRIGGER::JMatch3B< JHit_t >::d2
mutableprivate

Definition at line 129 of file JMatch3B.hh.


The documentation for this class was generated from the following file:
JTOOLS::getSinThetaC
double getSinThetaC()
Get average sine of Cherenkov angle of water.
Definition: JConstants.hh:155
JTRIGGER::JMatch3B::Rs2
double Rs2
Definition: JMatch3B.hh:125
JTRIGGER::JMatch3B::x
double x
Definition: JMatch3B.hh:114
JTRIGGER::JMatch3B::D22
double D22
Definition: JMatch3B.hh:124
JTRIGGER::JMatch3B::z
double z
Definition: JMatch3B.hh:116
JTRIGGER::JMatch3B::Rst
double Rst
Definition: JMatch3B.hh:126
JTRIGGER::JMatch3B::R2
double R2
Definition: JMatch3B.hh:128
JTRIGGER::JMatch3B::Rt
double Rt
Definition: JMatch3B.hh:127
JTRIGGER::JMatch3B::D2
double D2
Definition: JMatch3B.hh:113
JTOOLS::getInverseSpeedOfLight
const double getInverseSpeedOfLight()
Get inverse speed of light.
Definition: JConstants.hh:100
JTOOLS::getIndexOfRefraction
double getIndexOfRefraction()
Get average index of refraction of water.
Definition: JConstants.hh:111
JTRIGGER::JMatch3B::dmin
double dmin
Definition: JMatch3B.hh:119
JTRIGGER::JMatch3B::D1
double D1
Definition: JMatch3B.hh:112
JTRIGGER::JMatch3B::d2
double d2
Definition: JMatch3B.hh:129
JTRIGGER::JMatch3B::dmax
double dmax
Definition: JMatch3B.hh:120
JTRIGGER::JMatch3B::roadWidth_m
double roadWidth_m
Definition: JMatch3B.hh:107
JTOOLS::getTanThetaC
double getTanThetaC()
Get average tangent of Cherenkov angle of water.
Definition: JConstants.hh:133
JTRIGGER::JMatch3B::TMaxExtra_ns
double TMaxExtra_ns
Definition: JMatch3B.hh:108
JTRIGGER::JMatch3B::D02
double D02
Definition: JMatch3B.hh:122
JTRIGGER::JMatch3B::y
double y
Definition: JMatch3B.hh:115
JTRIGGER::JMatch3B::t
double t
Definition: JMatch3B.hh:118
JTRIGGER::JMatch3B::D12
double D12
Definition: JMatch3B.hh:123
JTRIGGER::JMatch3B::D0
double D0
Definition: JMatch3B.hh:111