Jpp  18.3.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
JMONITOR::JCluster Class Reference

A JHitL1 with a multiplicity. More...

#include <JCluster.hh>

Inheritance diagram for JMONITOR::JCluster:
JTRIGGER::JHitL1 KM3NETDAQ::JDAQModuleIdentifier std::vector< JHitL0 >

Public Member Functions

 JCluster (const JHitL1 &hits)
 Constructor from a JHitL1. More...
 
unsigned int getMultiplicity () const
 Returns the multiplicity evaluated at the last call to setMultiplicity. More...
 
void setMultiplicity ()
 Set the multiplicity by looping over the JHitL0s. More...
 
const JHitL1sort ()
 Sort L0 hits. More...
 
 operator const JPosition3D & () const
 Type conversion operator. More...
 
const JPosition3DgetPosition () const
 Get position. More...
 
double getX () const
 Get x position. More...
 
double getY () const
 Get y position. More...
 
double getZ () const
 Get z position. More...
 
double getT (const unsigned int i) const
 Get time of hit i. More...
 
double getT () const
 Get time. More...
 
double getToT () const
 Get overall time over threshold. More...
 
int getN () const
 Get count. More...
 
double getW () const
 Get weight. More...
 
JHitL1add (const JVector3D &pos)
 Add position. More...
 
JHitL1sub (const JVector3D &pos)
 Subtract position. More...
 
JHitL1rotate (const JRotation3D &R)
 Rotate hit. More...
 
JHitL1rotate_back (const JRotation3D &R)
 Rotate back hit. More...
 
void transform (const JRotation3D &R, const JVector3D &pos)
 Transform hit. More...
 
void transform_back (const JRotation3D &R, const JVector3D &pos)
 Transform back hit. More...
 
const JDAQModuleIdentifiergetModuleIdentifier () const
 Get Module identifier. More...
 
void setModuleIdentifier (const JDAQModuleIdentifier &module)
 Set Module identifier. More...
 
int getModuleID () const
 Get module identifier. More...
 
 ClassDefNV (JDAQModuleIdentifier, 1)
 

Static Public Attributes

static struct
JTRIGGER::JHitL1::compare 
compare
 

Protected Attributes

unsigned int m
 
int id
 

Detailed Description

A JHitL1 with a multiplicity.

The multiplicity is defined as the number of uniquely hit PMTs in the cluster and is evaluated at construction.

Definition at line 34 of file JCluster.hh.

Constructor & Destructor Documentation

JMONITOR::JCluster::JCluster ( const JHitL1 hits)
inline

Constructor from a JHitL1.

Definition at line 40 of file JCluster.hh.

40  : JHitL1(hits) {
41  setMultiplicity() ;
42  }
JHitL1()
Default constructor.
Definition: JHitL1.hh:42
void setMultiplicity()
Set the multiplicity by looping over the JHitL0s.
Definition: JCluster.hh:55

Member Function Documentation

unsigned int JMONITOR::JCluster::getMultiplicity ( ) const
inline

Returns the multiplicity evaluated at the last call to setMultiplicity.

Note that it is not evaluated on the fly for efficiency reasons. The user has to make sure to call setMultiplicity first if changes were made to the JHitL0s!

Definition at line 50 of file JCluster.hh.

50 { return m ; }
unsigned int m
Definition: JCluster.hh:65
void JMONITOR::JCluster::setMultiplicity ( )
inline

Set the multiplicity by looping over the JHitL0s.

Definition at line 55 of file JCluster.hh.

55  {
56  set<unsigned int> unique_pmts ;
57  for( JHitL1::const_iterator it=begin(); it!=end(); ++it ) {
58  unique_pmts.insert(it->getPMTAddress()) ;
59  }
60  m = unique_pmts.size() ;
61  }
unsigned int m
Definition: JCluster.hh:65
const JHitL1& JTRIGGER::JHitL1::sort ( )
inlineinherited

Sort L0 hits.

Following the default sort operation, the time slewing implemented in method getT() is applicaple.

Returns
this hit

Definition at line 97 of file JHitL1.hh.

98  {
99  std::sort(this->begin(), this->end(), std::less<JHit>());
100 
101  return *this;
102  }
JTRIGGER::JHitL1::operator const JPosition3D & ( ) const
inlineinherited

Type conversion operator.

Returns
position

Definition at line 110 of file JHitL1.hh.

111  {
112  return this->getPosition();
113  }
const JPosition3D & getPosition() const
Get position.
Definition: JHitL1.hh:121
const JPosition3D& JTRIGGER::JHitL1::getPosition ( ) const
inlineinherited

Get position.

Returns
position

Definition at line 121 of file JHitL1.hh.

122  {
123  return this->begin()->getPosition();
124  }
double JTRIGGER::JHitL1::getX ( ) const
inlineinherited

Get x position.

The x position is taken from the first L0 hit.

Returns
x position [m]

Definition at line 133 of file JHitL1.hh.

134  {
135  return this->begin()->getX();
136  }
double JTRIGGER::JHitL1::getY ( ) const
inlineinherited

Get y position.

The y position is taken from the first L0 hit.

Returns
y position [m]

Definition at line 145 of file JHitL1.hh.

146  {
147  return this->begin()->getY();
148  }
double JTRIGGER::JHitL1::getZ ( ) const
inlineinherited

Get z position.

The z position is taken from the first L0 hit.

Returns
z position [m]

Definition at line 157 of file JHitL1.hh.

158  {
159  return this->begin()->getZ();
160  }
double JTRIGGER::JHitL1::getT ( const unsigned int  i) const
inlineinherited

Get time of hit i.

Note that the time is corrected for the average time slewing.

Parameters
iindex
Returns
time [ns]

Definition at line 170 of file JHitL1.hh.

171  {
172  static const double t0 = 1.29; // [ns]
173 
174  return at(i).getT() - t0;
175  }
double JTRIGGER::JHitL1::getT ( ) const
inlineinherited

Get time.

The time is taken from the first L0 hit corrected for time slewing.

Returns
time [ns]

Definition at line 184 of file JHitL1.hh.

185  {
186  static std::vector<double> t0;
187 
188  if (t0.empty()) {
189 
190  t0.push_back(+0.00);
191  t0.push_back(+0.39);
192  t0.push_back(+0.21);
193  t0.push_back(-0.59);
194  t0.push_back(-1.15);
195  t0.push_back(-1.59);
196  t0.push_back(-1.97);
197  t0.push_back(-2.30);
198  t0.push_back(-2.56);
199  t0.push_back(-2.89);
200  t0.push_back(-3.12);
201  t0.push_back(-3.24);
202  t0.push_back(-3.56);
203  t0.push_back(-3.69);
204  t0.push_back(-4.00);
205  t0.push_back(-4.10);
206  t0.push_back(-4.16);
207  t0.push_back(-4.49);
208  t0.push_back(-4.71);
209  t0.push_back(-4.77);
210  t0.push_back(-4.81);
211  t0.push_back(-4.87);
212  t0.push_back(-4.88);
213  t0.push_back(-4.83);
214  t0.push_back(-5.21);
215  t0.push_back(-5.06);
216  t0.push_back(-5.27);
217  t0.push_back(-5.18);
218  t0.push_back(-5.24);
219  t0.push_back(-5.79);
220  t0.push_back(-6.78);
221  t0.push_back(-6.24);
222  }
223 
224  if (this->size() >= t0.size())
225  return this->begin()->getT() - t0.back();
226  else
227  return this->begin()->getT() - t0[this->size()];
228  }
double JTRIGGER::JHitL1::getToT ( ) const
inlineinherited

Get overall time over threshold.

Returns
time over threshold [ns]

Definition at line 236 of file JHitL1.hh.

237  {
238  return JHit(this->begin(), this->end()).getToT();
239  }
Acoustics hit.
int JTRIGGER::JHitL1::getN ( ) const
inlineinherited

Get count.

Returns
count

Definition at line 247 of file JHitL1.hh.

248  {
249  return this->size();
250  }
double JTRIGGER::JHitL1::getW ( ) const
inlineinherited

Get weight.


The weight is equal to the number of L0 hits.

Returns
weight

Definition at line 259 of file JHitL1.hh.

260  {
261  return this->size();
262  }
JHitL1& JTRIGGER::JHitL1::add ( const JVector3D pos)
inlineinherited

Add position.

Parameters
posposition
Returns
this hit

Definition at line 271 of file JHitL1.hh.

272  {
273  for (iterator i = this->begin(); i != this->end(); ++i) {
274  i->add(pos);
275  }
276 
277  return *this;
278  }
JHitL1& JTRIGGER::JHitL1::sub ( const JVector3D pos)
inlineinherited

Subtract position.

Parameters
posposition
Returns
this hit

Definition at line 287 of file JHitL1.hh.

288  {
289  for (iterator i = this->begin(); i != this->end(); ++i) {
290  i->sub(pos);
291  }
292 
293  return *this;
294  }
JHitL1& JTRIGGER::JHitL1::rotate ( const JRotation3D R)
inlineinherited

Rotate hit.

Parameters
Rrotation matrix
Returns
this hit

Definition at line 303 of file JHitL1.hh.

304  {
305  for (iterator i = this->begin(); i != this->end(); ++i) {
306  i->rotate(R);
307  }
308 
309  return *this;
310  }
JHitL1& JTRIGGER::JHitL1::rotate_back ( const JRotation3D R)
inlineinherited

Rotate back hit.

Parameters
Rrotation matrix
Returns
this hit

Definition at line 319 of file JHitL1.hh.

320  {
321  for (iterator i = this->begin(); i != this->end(); ++i) {
322  i->rotate_back(R);
323  }
324 
325  return *this;
326  }
void JTRIGGER::JHitL1::transform ( const JRotation3D R,
const JVector3D pos 
)
inlineinherited

Transform hit.

Parameters
Rrotation matrix
posposition of origin (after rotation)

Definition at line 335 of file JHitL1.hh.

337  {
338  for (iterator i = this->begin(); i != this->end(); ++i) {
339  i->transform(R, pos);
340  }
341  }
void JTRIGGER::JHitL1::transform_back ( const JRotation3D R,
const JVector3D pos 
)
inlineinherited

Transform back hit.

Parameters
Rrotation matrix
posposition of origin (before rotation)

Definition at line 350 of file JHitL1.hh.

352  {
353  for (iterator i = this->begin(); i != this->end(); ++i) {
354  i->transform_back(R, pos);
355  }
356  }
const JDAQModuleIdentifier& KM3NETDAQ::JDAQModuleIdentifier::getModuleIdentifier ( ) const
inlineinherited

Get Module identifier.

Returns
Module identifier

Definition at line 50 of file JDAQModuleIdentifier.hh.

51  {
52  return *this;
53  }
void KM3NETDAQ::JDAQModuleIdentifier::setModuleIdentifier ( const JDAQModuleIdentifier module)
inlineinherited

Set Module identifier.

Parameters
moduleModule identifier

Definition at line 61 of file JDAQModuleIdentifier.hh.

62  {
63  *this = module;
64  }
int KM3NETDAQ::JDAQModuleIdentifier::getModuleID ( ) const
inlineinherited

Get module identifier.

Returns
module identifier

Definition at line 72 of file JDAQModuleIdentifier.hh.

73  {
74  return id;
75  }
KM3NETDAQ::JDAQModuleIdentifier::ClassDefNV ( JDAQModuleIdentifier  ,
 
)
inherited

Member Data Documentation

unsigned int JMONITOR::JCluster::m
protected

Definition at line 65 of file JCluster.hh.

int KM3NETDAQ::JDAQModuleIdentifier::id
protectedinherited

Definition at line 112 of file JDAQModuleIdentifier.hh.


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