Jpp  15.0.1-rc.1-highQE
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 override
 Match operator. More...
 
virtual clone_type clone () const override
 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

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

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  x(0.0),
49  y(0.0),
50  z(0.0),
51  d(0.0),
52  t(0.0),
53  dmin(0.0),
54  dmax(0.0),
55  d2(0.0)
56  {
57  //
58  // calculation D2 in thesis is wrong, here correct
59  //
60  const double tt2 = getTanThetaC() * getTanThetaC();
61 
62  D0 = roadWidth_m;
63  D1 = roadWidth_m * 2.0;
64  D2 = roadWidth_m * 0.5 * sqrt(tt2 + 10.0 + 9.0/tt2);
65 
66  D02 = D0 * D0;
67  D12 = D1 * D1;
68  D22 = D2 * D2;
69 
70  const double R = roadWidth_m;
71  const double Rs = R * getSinThetaC();
72 
73  R2 = R * R;
74  Rs2 = Rs * Rs;
75  Rst = Rs * getTanThetaC();
76  Rt = R * getTanThetaC();
77  }
then usage $script[distance] fi case set_variable R
Definition: JDrawLED.sh:43
double getTanThetaC()
Get average tangent of Cherenkov angle of water corresponding to group velocity.
double getSinThetaC()
Get average sine of Cherenkov angle of water corresponding to group velocity.

Member Function Documentation

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

Match operator.

Parameters
firsthit
secondhit
Returns
match result

Definition at line 87 of file JMatch3B.hh.

88  {
89  x = first.getX() - second.getX();
90  y = first.getY() - second.getY();
91  z = first.getZ() - second.getZ();
92  d2 = x*x + y*y + z*z;
93  t = fabs(first.getT() - second.getT());
94 
95  if (d2 < D02)
96  dmax = sqrt(d2) * getIndexOfRefraction();
97  else
98  dmax = sqrt(d2 - Rs2) + Rst;
99 
101  return false;
102  }
103 
104  if (d2 > D22)
105  dmin = sqrt(d2 - R2) - Rt;
106  else if (d2 > D12)
107  dmin = sqrt(d2 - D12);
108  else
109  return true;
110 
111  return t >= dmin * getInverseSpeedOfLight() - TMaxExtra_ns;
112  }
double getIndexOfRefraction()
Get average index of refraction of water corresponding to group velocity.
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
const double getInverseSpeedOfLight()
Get inverse speed of light.
template<class JClonable_t, class JDerived_t = JNullType>
virtual clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone ( ) const
inlineoverridevirtualinherited

Member Data Documentation

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

Definition at line 115 of file JMatch3B.hh.

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

Definition at line 116 of file JMatch3B.hh.

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

Definition at line 119 of file JMatch3B.hh.

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

Definition at line 120 of file JMatch3B.hh.

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

Definition at line 121 of file JMatch3B.hh.

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

Definition at line 122 of file JMatch3B.hh.

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

Definition at line 123 of file JMatch3B.hh.

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

Definition at line 124 of file JMatch3B.hh.

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

Definition at line 125 of file JMatch3B.hh.

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

Definition at line 126 of file JMatch3B.hh.

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

Definition at line 127 of file JMatch3B.hh.

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

Definition at line 128 of file JMatch3B.hh.

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

Definition at line 130 of file JMatch3B.hh.

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

Definition at line 131 of file JMatch3B.hh.

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

Definition at line 132 of file JMatch3B.hh.

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

Definition at line 133 of file JMatch3B.hh.

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

Definition at line 134 of file JMatch3B.hh.

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

Definition at line 135 of file JMatch3B.hh.

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

Definition at line 136 of file JMatch3B.hh.

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

Definition at line 137 of file JMatch3B.hh.


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