QPositionFilter Class Reference

Inheritance diagram for QPositionFilter:

QCoincidenceFilter QCoPositionSplitter QCoPatternSplitter

List of all members.


Detailed Description

filter coincidences based on geometrical position of the crystals

Author:
Sergio Di Domizio This filter is controlled by 2 parameters:
  • the number of events within a coincidence that have to occur close to each other in order for the coincidence to pass the filter.
  • The range of distance for which two events are considered close to each other.

Public Member Functions

 QPositionFilter (const std::string &name="QPositionFilter")
 constructor
virtual ~QPositionFilter ()
 destructor
virtual bool Filter (const QCoincidence &coinc) const
 filter coincidence based on the geometrical pattern
virtual std::string Dump () const
 dump filter parameters
void SetCut (const Cuore::QInterval &cut, unsigned int howMany)
 set cuts for this filter
bool LoadDetectorMap (const std::string &fileName)
 load detector map

Protected Member Functions

double GetDistance (int ch1, int ch2) const
 evaluate the distance between two detectors

Protected Attributes

Cuore::QInterval fCut
unsigned int fHowMany
QTower fTower

Member Function Documentation

bool QPositionFilter::Filter ( const QCoincidence coinc  )  const [virtual]

filter coincidence based on the geometrical pattern

Parameters:
coinc the coincidence to be filtered
Returns:
true if the coincidence passed the filter, false otherwise
Coincidences with multiplcity 1 always pass the filter.

Implements QCoincidenceFilter.

References fCut, fHowMany, GetDistance(), QCoincidence::GetEvents(), and QCoincidence::Size().

std::string QPositionFilter::Dump (  )  const [virtual]

dump filter parameters

Returns:
string describing position cuts

Implements QCoincidenceFilter.

Reimplemented in QCoPatternSplitter, and QCoPositionSplitter.

References fCut, and fHowMany.

void QPositionFilter::SetCut ( const Cuore::QInterval &  cut,
unsigned int  howMany 
) [inline]

set cuts for this filter

Parameters:
cut allowed range of distances between the events in the coincidence. Distances are in mm.
howMany minimum number of crystal pairs whose distance must fall within the values defined by the cut. 0 means all.
The definition of distance is the standard geometrical one.
One event must exist such that at least "howMany" other events in the coincidence have a distance with respect to it that falls within the range specified by cut.

References fCut, and fHowMany.

Referenced by MCoincidenceTester::ReadCutsFile().

bool QPositionFilter::LoadDetectorMap ( const std::string &  fileName  ) 

load detector map

Parameters:
filename file containing detector map. It can be a real file or "DB". In this case the detector map is loaded from db
Returns:
true on success or false if detector map cannot be loaded

References fTower, and QTower::LoadMap().

Referenced by MCoincidenceFlagger::Done(), and MCoincidenceTester::ReadCutsFile().

double QPositionFilter::GetDistance ( int  ch1,
int  ch2 
) const [protected]

evaluate the distance between two detectors

Parameters:
ch1 logical channel of one detector
ch2 logical channel of the other detector
Returns:
distance between the 2 crystals or -1 if any of the two crystals does not exist

References fTower, QTower::GetCrystal(), QGeomVector::GetDistance(), and QCuboid::GetPosition().

Referenced by Filter(), and QCoPositionSplitter::Split().


Member Data Documentation

Cuore::QInterval QPositionFilter::fCut [protected]

specifies the range of distances that wpuls allow a coincidence to pass the filter. Distances are in mm.

Referenced by Dump(), Filter(), and SetCut().

unsigned int QPositionFilter::fHowMany [protected]

Minimum number of crystals that have to satisfy the constraints on the distance in order for the coindicede to pass the filter. If 0, then all the events in the coincidence must satisfy the constraint.

Referenced by Dump(), Filter(), and SetCut().

geometric description of the tower

Referenced by GetDistance(), and LoadDetectorMap().


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

Generated on Tue Nov 16 10:50:08 2010 for CUORE Software by  doxygen 1.5.6