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 >:
JTRIGGER::JMatch< JHit_t > JLANG::JClonable< JClass_t >

Public Types

typedef JClass_t * clone_type
 Type definition of return value of method clone(). More...
 

Public Member Functions

 JMatch3B (const double road_width_m, const double Tmax_ns=0.0)
 Constructor. More...
 
JMatch< JHit_t > * clone () const
 Clone object. More...
 
virtual bool operator() (const JHit_t &first, const JHit_t &second) const
 Match operator. 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 JClass_t>
typedef JClass_t* JLANG::JClonable< JClass_t >::clone_type
inherited

Type definition of return value of method clone().

Definition at line 25 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:144
double getTanThetaC()
Get average tangent of Cherenkov angle of water.
Definition: JConstants.hh:122

Member Function Documentation

template<class JHit_t>
JMatch<JHit_t>* JTRIGGER::JMatch3B< JHit_t >::clone ( ) const
inlinevirtual

Clone object.

Returns
match result

Implements JLANG::JClonable< JClass_t >.

Definition at line 77 of file JMatch3B.hh.

78  {
79  return new JMatch3B<JHit_t>(*this);
80  }
3D match criterion with road width.
Definition: JMatch3B.hh:34
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

Implements JTRIGGER::JMatch< JHit_t >.

Definition at line 90 of file JMatch3B.hh.

91  {
92  x = first.getX() - second.getX();
93  y = first.getY() - second.getY();
94  z = first.getZ() - second.getZ();
95  d2 = x*x + y*y + z*z;
96  t = fabs(first.getT() - second.getT());
97 
98  if (d2 < D02)
99  dmax = sqrt(d2) * getIndexOfRefraction();
100  else
101  dmax = sqrt(d2 - Rs2) + Rst;
102 
104  return false;
105  }
106 
107  if (d2 > D22)
108  dmin = sqrt(d2 - R2) - Rt;
109  else if (d2 > D12)
110  dmin = sqrt(d2 - D12);
111  else
112  return true;
113 
114  return t >= dmin * getInverseSpeedOfLight() - TMaxExtra_ns;
115  }
double getIndexOfRefraction()
Get average index of refraction of water.
Definition: JConstants.hh:111
const double getInverseSpeedOfLight()
Get inverse speed of light.
Definition: JConstants.hh:100

Member Data Documentation

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

Definition at line 118 of file JMatch3B.hh.

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

Definition at line 119 of file JMatch3B.hh.

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

Definition at line 122 of file JMatch3B.hh.

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

Definition at line 123 of file JMatch3B.hh.

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

Definition at line 124 of file JMatch3B.hh.

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

Definition at line 125 of file JMatch3B.hh.

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

Definition at line 126 of file JMatch3B.hh.

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

Definition at line 127 of file JMatch3B.hh.

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

Definition at line 128 of file JMatch3B.hh.

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

Definition at line 129 of file JMatch3B.hh.

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

Definition at line 130 of file JMatch3B.hh.

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

Definition at line 131 of file JMatch3B.hh.

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

Definition at line 133 of file JMatch3B.hh.

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

Definition at line 134 of file JMatch3B.hh.

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

Definition at line 135 of file JMatch3B.hh.

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

Definition at line 136 of file JMatch3B.hh.

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

Definition at line 137 of file JMatch3B.hh.

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

Definition at line 138 of file JMatch3B.hh.

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

Definition at line 139 of file JMatch3B.hh.

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

Definition at line 140 of file JMatch3B.hh.


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