Jpp
 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
 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

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  {
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  }
double getSinThetaC()
Get average sine of Cherenkov angle of water.
Definition: JConstants.hh:155
then usage $script[distance] fi case set_variable R
Definition: JDrawLED.sh:40
double getTanThetaC()
Get average tangent of Cherenkov angle of water.
Definition: JConstants.hh:133

Member Function Documentation

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  }
double getIndexOfRefraction()
Get average index of refraction of water.
Definition: JConstants.hh:111
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
const double getInverseSpeedOfLight()
Get inverse speed of light.
Definition: JConstants.hh:100
template<class JClonable_t, class JDerived_t = JNullType>
virtual clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone ( ) const
inlinevirtualinherited

Member Data Documentation

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

Definition at line 107 of file JMatch3B.hh.

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

Definition at line 108 of file JMatch3B.hh.

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

Definition at line 111 of file JMatch3B.hh.

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

Definition at line 112 of file JMatch3B.hh.

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

Definition at line 113 of file JMatch3B.hh.

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

Definition at line 114 of file JMatch3B.hh.

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

Definition at line 115 of file JMatch3B.hh.

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

Definition at line 116 of file JMatch3B.hh.

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

Definition at line 117 of file JMatch3B.hh.

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

Definition at line 118 of file JMatch3B.hh.

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

Definition at line 119 of file JMatch3B.hh.

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

Definition at line 120 of file JMatch3B.hh.

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

Definition at line 122 of file JMatch3B.hh.

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

Definition at line 123 of file JMatch3B.hh.

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

Definition at line 124 of file JMatch3B.hh.

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

Definition at line 125 of file JMatch3B.hh.

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

Definition at line 126 of file JMatch3B.hh.

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

Definition at line 127 of file JMatch3B.hh.

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

Definition at line 128 of file JMatch3B.hh.

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: