FEDRA emulsion software from the OPERA Collaboration
|
#include <EdbPattern.h>
Public Member Functions | |
void | AddPattern (EdbPattern *pat) |
void | AddPatternAt (EdbPattern *pat, int id) |
void | Centralize () |
void | Centralize (float xc, float yc) |
void | DropCell () |
int | DropCouples () |
EdbPatternsVolume () | |
EdbPatternsVolume (EdbPatternsVolume &pvol) | |
int | FindComplimentsVol (EdbSegP &s, TObjArray &arr, float nsig, float nsigt, int dpat) |
EdbPattern * | GetPattern (int id) const |
EdbPattern * | GetPatternByPID (int pid) const |
EdbPattern * | GetPatternByPlate (int plate, int side) |
EdbPattern * | GetPatternByZ (float z, float tolerance=5) const |
EdbPattern* GetPatternByZ(float z) const;. More... | |
EdbPattern * | GetPatternNext (float z, int dir) const |
EdbPattern * | GetPatternPreceding (EdbPattern *pat) const |
EdbPattern * | GetPatternSucceding (EdbPattern *pat) const |
EdbPattern * | GetPatternZLowestHighest (Bool_t lowestZ=kTRUE) const |
EdbSegP * | GetSegment (Long_t vid) const |
EdbPattern * | InsertPattern (EdbPattern *pat, Bool_t descendingZ=0) |
EdbPattern * | NextPattern (float z, int dir) const |
Int_t | Npatterns () const |
void | PassProperties (EdbPatternsVolume &pvol) |
Int_t | Pid (Long_t vid) const |
void | Print () const |
void | PrintAff () const |
void | PrintStat (EdbPattern &pat) const |
void | PrintStat (Option_t *opt="") const |
void | Set0 () |
void | SetPatternsID () |
void | SetXYZ (float x, float y, float z) |
void | Shift (float x, float y) |
Int_t | Sid (Long_t vid) const |
void | SortPatternsByZ (Bool_t descendingZ=0) |
void | Transform (const EdbAffine2D *aff) |
Long_t | Vid (int pid, int sid) const |
Float_t | X () const |
Float_t | Xmean () |
Float_t | Y () const |
Float_t | Ymean () |
Float_t | Z () const |
virtual | ~EdbPatternsVolume () |
Public Attributes | |
Bool_t | eDescendingZ |
if =0 - z increase in the pattrens array; if =1 - decrease More... | |
TObjArray * | ePatterns |
collection of patterns More... | |
TIndexCell * | ePatternsCell |
"pid:id1:chi2:id2" - all found couples More... | |
TIndexCell * | eTracksCell |
"vidt:vids" - connected segments cell More... | |
Private Attributes | |
Float_t | eX |
Float_t | eY |
Float_t | eZ |
central point More... | |
EdbPatternsVolume::EdbPatternsVolume | ( | ) |
EdbPatternsVolume::EdbPatternsVolume | ( | EdbPatternsVolume & | pvol | ) |
|
virtual |
void EdbPatternsVolume::AddPattern | ( | EdbPattern * | pat | ) |
void EdbPatternsVolume::AddPatternAt | ( | EdbPattern * | pat, |
int | id | ||
) |
void EdbPatternsVolume::Centralize | ( | ) |
find geometrical center (XY) of all patterns and set it as the center of coordinates to simplify transformations To be used before any operations on patterns
void EdbPatternsVolume::Centralize | ( | float | xc, |
float | yc | ||
) |
void EdbPatternsVolume::DropCell | ( | ) |
int EdbPatternsVolume::DropCouples | ( | ) |
int EdbPatternsVolume::FindComplimentsVol | ( | EdbSegP & | s, |
TObjArray & | arr, | ||
float | nsig, | ||
float | nsigt, | ||
int | dpat | ||
) |
EdbPattern * EdbPatternsVolume::GetPattern | ( | int | id | ) | const |
EdbPattern * EdbPatternsVolume::GetPatternByPID | ( | int | pid | ) | const |
Return pattern having PID() == pid. If there is no such pattern, return a NULL pattern.
This is important because some codings (libShower for example). rely on getting Patterns by the PIDs.
EdbPattern * EdbPatternsVolume::GetPatternByPlate | ( | int | plate, |
int | side | ||
) |
EdbPattern * EdbPatternsVolume::GetPatternByZ | ( | float | z, |
float | tolerance = 5 |
||
) | const |
EdbPattern* GetPatternByZ(float z) const;.
Return pattern having Z() == z +- tolerance(microns) due to roundings. If there is no such pattern, return a NULL pattern.
This is important because some codings (libShower for example). rely on getting Patterns by the Z. Warning: If tolerance is to big, there is not a unique solution anymore
EdbPattern * EdbPatternsVolume::GetPatternNext | ( | float | z, |
int | dir | ||
) | const |
Return next pattern in either downstream (dir=+1) (i.e. Z gets bigger) or in either upstream (dir=-1) (i.e. Z gets smaller) direction. If the last/first pattern is already given and one ask therefor for a pattern that does not exists, then return a NULL pattern.
EdbPattern * EdbPatternsVolume::GetPatternPreceding | ( | EdbPattern * | pat | ) | const |
EdbPattern * EdbPatternsVolume::GetPatternSucceding | ( | EdbPattern * | pat | ) | const |
EdbPattern * EdbPatternsVolume::GetPatternZLowestHighest | ( | Bool_t | lowestZ = kTRUE | ) | const |
By default it returns the pattern with the lowest Z position. This is NOT necessarily the first pattern of the patterns volume.
|
inline |
EdbPattern * EdbPatternsVolume::InsertPattern | ( | EdbPattern * | pat, |
Bool_t | descendingZ = 0 |
||
) |
insert new pattern using it's Z as a main criteria for the positioning
EdbPattern * EdbPatternsVolume::NextPattern | ( | float | z, |
int | dir | ||
) | const |
Return next pattern in either downstream (dir=+1) or in either upstream (dir=-1) direction.
|
inline |
void EdbPatternsVolume::PassProperties | ( | EdbPatternsVolume & | pvol | ) |
|
inline |
void EdbPatternsVolume::Print | ( | ) | const |
void EdbPatternsVolume::PrintAff | ( | ) | const |
void EdbPatternsVolume::PrintStat | ( | EdbPattern & | pat | ) | const |
void EdbPatternsVolume::PrintStat | ( | Option_t * | opt = "" | ) | const |
void EdbPatternsVolume::Set0 | ( | ) |
void EdbPatternsVolume::SetPatternsID | ( | ) |
void EdbPatternsVolume::Shift | ( | float | x, |
float | y | ||
) |
|
inline |
void EdbPatternsVolume::SortPatternsByZ | ( | Bool_t | descendingZ = 0 | ) |
void EdbPatternsVolume::Transform | ( | const EdbAffine2D * | aff | ) |
|
inline |
|
inline |
|
inline |
|
inline |
Bool_t EdbPatternsVolume::eDescendingZ |
if =0 - z increase in the pattrens array; if =1 - decrease
TObjArray* EdbPatternsVolume::ePatterns |
collection of patterns
TIndexCell* EdbPatternsVolume::ePatternsCell |
"pid:id1:chi2:id2" - all found couples
TIndexCell* EdbPatternsVolume::eTracksCell |
"vidt:vids" - connected segments cell
|
private |
|
private |
|
private |
central point