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:


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.

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

dump filter parameters

Returns:
string describing position cuts

Implements QCoincidenceFilter.

Reimplemented in QCoPatternSplitter, and QCoPositionSplitter.

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.

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

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


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.

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.

QTower QPositionFilter::fTower [protected]

geometric description of the tower


The documentation for this class was generated from the following files:
Generated on Fri Mar 6 13:40:44 2009 for CUORE Software by  doxygen 1.5.1