GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
TTigress Class Reference

Definition at line 25 of file TTigress.h.

Public Types

enum  ETigressBits {
  ETigressBits::kAddbackSet = BIT(0), ETigressBits::kSuppression = BIT(1), ETigressBits::kBit2 = BIT(2), ETigressBits::kBit3 = BIT(3),
  ETigressBits::kBit4 = BIT(4), ETigressBits::kBit5 = BIT(5), ETigressBits::kBit6 = BIT(6), ETigressBits::kBit7 = BIT(7)
}
 
enum  ETigressGlobalBits {
  ETigressGlobalBits::kSetBGOWave = BIT(0), ETigressGlobalBits::kSetCoreWave = BIT(1), ETigressGlobalBits::kSetSegWave = BIT(2), ETigressGlobalBits::kSetBGOHits = BIT(3),
  ETigressGlobalBits::kForceCrystal = BIT(4), ETigressGlobalBits::kArrayBackPos = BIT(5), ETigressGlobalBits::kVectorsBuilt = BIT(6)
}
 

Public Member Functions

 TTigress ()
 
 TTigress (const TTigress &)
 
 ~TTigress () override
 
void AddBGO (TBgoHit &bgo)
 
void AddFragment (const std::shared_ptr< const TFragment > &, TChannel *) override
 
void BuildHits () override
 
void Clear (Option_t *opt="") override
 
void ClearTransients () override
 
void Copy (TObject &) const override
 
std::function< bool(TDetectorHit *, TDetectorHit *)> GetAddbackCriterion () const
 
TTigressHitGetAddbackHit (const int &)
 
Int_t GetAddbackMultiplicity ()
 
TBgoHit GetBGO (int &i) const
 
TBgoHitGetBGO (int &i)
 
Short_t GetBGOMultiplicity () const
 
virtual TDetectorHitGetHit (const int &) const
 
virtual const std::vector< TDetectorHit * > & GetHitVector () const
 
virtual Short_t GetMultiplicity () const
 
UShort_t GetNAddbackFrags (size_t idx) const
 
int GetNBGOs () const
 
std::function< bool(TDetectorHit *, TBgoHit &)> GetSuppressionCriterion () const
 
TTigressHitGetTigressHit (const int &i) const
 
TTigressoperator= (const TTigress &)
 
void Print (Option_t *opt="") const override
 
void Print (std::ostream &out) const override
 
void ResetAddback ()
 
void SetAddbackCriterion (std::function< bool(TDetectorHit *, TDetectorHit *)> criterion)
 
void SetSuppressionCriterion (std::function< bool(TDetectorHit *, TBgoHit &)> criterion)
 

Static Public Member Functions

static bool GetArrayBackPos ()
 
static bool GetBGOWave ()
 
static bool GetCoreWave ()
 
static double GetFaceDistance ()
 
static bool GetForceCrystal ()
 
static TVector3 GetPosition (int DetNbr, int CryNbr, int SegNbr, double dist=0., bool smear=false)
 
static TVector3 GetPosition (const TTigressHit &, double dist=0., bool smear=false)
 
static bool GetSegmentWave ()
 
static bool GetVectorsBuilt ()
 
static bool SetArrayBackPos (bool set=true)
 
static bool SetBGOWave (bool set=true)
 
static bool SetCoreWave (bool set=true)
 
static bool SetForceCrystal (bool set=true)
 
static void SetRadialOffset (double offset)
 
static bool SetSegmentWave (bool set=true)
 
static void SetTargetOffset (double offset)
 

Public Attributes

std::vector< TBgoHitfBgos
 
std::vector< std::vector< std::shared_ptr< const TFragment > > > SegmentFragments
 

Static Public Attributes

static bool BGOSuppression [4][4][5]
 

Protected Attributes

std::vector< TDetectorHit * > fHits
 

Static Private Member Functions

static void BuildVectors ()
 
static void SetGlobalBit (ETigressGlobalBits bit, Bool_t set=true)
 
static Bool_t TestGlobalBit (ETigressGlobalBits bit)
 

Private Attributes

std::vector< UShort_t > fAddbackFrags
 
std::vector< TDetectorHit * > fAddbackHits
 
TTransientBits< UShort_t > fTigressBits
 

Static Private Attributes

static std::function< bool(TDetectorHit *, TDetectorHit *)> fAddbackCriterion = DefaultAddback
 
static TVector3 fCloverCross [17][2]
 
static TVector3 fCloverRadial [17]
 
static TTransientBits< UShort_t > fgTigressBits
 
static TVector3 fPositionVectors [2][17][4][9]
 
static double fRadialOffset = 0.
 
static std::function< bool(TDetectorHit *, TBgoHit &)> fSuppressionCriterion = DefaultSuppression
 
static double fTargetOffset = 0.
 
static double GeBluePosition [17][9][3]
 
static double GeBluePositionBack [17][9][3]
 
static double GeGreenPosition [17][9][3]
 
static double GeGreenPositionBack [17][9][3]
 
static double GeRedPosition [17][9][3]
 
static double GeRedPositionBack [17][9][3]
 
static double GeWhitePosition [17][9][3]
 
static double GeWhitePositionBack [17][9][3]
 

#include <TTigress.h>

+ Inheritance diagram for TTigress:
+ Collaboration diagram for TTigress:

Member Enumeration Documentation

◆ ETigressBits

Enumerator
kAddbackSet 
kSuppression 
kBit2 
kBit3 
kBit4 
kBit5 
kBit6 
kBit7 

Definition at line 27 of file TTigress.h.

◆ ETigressGlobalBits

Enumerator
kSetBGOWave 
kSetCoreWave 
kSetSegWave 
kSetBGOHits 
kForceCrystal 
kArrayBackPos 
kVectorsBuilt 

Definition at line 38 of file TTigress.h.

Constructor & Destructor Documentation

◆ TTigress() [1/2]

TTigress::TTigress ( )

Definition at line 83 of file TTigress.cxx.

References Clear().

◆ TTigress() [2/2]

TTigress::TTigress ( const TTigress rhs)

Definition at line 88 of file TTigress.cxx.

References Copy().

◆ ~TTigress()

TTigress::~TTigress ( )
overridedefault

Member Function Documentation

◆ AddBGO()

void TTigress::AddBGO ( TBgoHit bgo)
inline

!

Definition at line 63 of file TTigress.h.

References fBgos.

◆ AddFragment()

◆ BuildHits()

◆ BuildVectors()

◆ Clear()

void TTigress::Clear ( Option_t *  opt = "")
override

!

Definition at line 107 of file TTigress.cxx.

References TDetector::Clear(), fAddbackFrags, fAddbackHits, fBgos, and fTigressBits.

Referenced by TTigress().

◆ ClearTransients()

void TTigress::ClearTransients ( )
inlineoverridevirtual

!

Reimplemented from TDetector.

Definition at line 79 of file TTigress.h.

References TDetector::ClearTransients(), and fTigressBits.

◆ Copy()

void TTigress::Copy ( TObject &  rhs) const
overridevirtual

!

Reimplemented from TDetector.

Definition at line 95 of file TTigress.cxx.

References TDetector::Copy(), fAddbackFrags, fAddbackHits, fBgos, and fTigressBits.

Referenced by operator=(), and TTigress().

◆ GetAddbackCriterion()

std::function<bool(TDetectorHit*, TDetectorHit*)> TTigress::GetAddbackCriterion ( ) const
inline

Definition at line 93 of file TTigress.h.

References fAddbackCriterion.

◆ GetAddbackHit()

TTigressHit * TTigress::GetAddbackHit ( const int &  i)

Get the ith addback hit. This function calls GetAddbackMultiplicity to check the range of the index. This automatically calculates all addback hits if they haven't been calculated before.

Definition at line 181 of file TTigress.cxx.

References fAddbackHits, and GetAddbackMultiplicity().

◆ GetAddbackMultiplicity()

Int_t TTigress::GetAddbackMultiplicity ( )

◆ GetArrayBackPos()

static bool TTigress::GetArrayBackPos ( )
inlinestatic

!

Definition at line 172 of file TTigress.h.

References kArrayBackPos, and TestGlobalBit().

Referenced by GetFaceDistance(), and GetPosition().

◆ GetBGO() [1/2]

TBgoHit TTigress::GetBGO ( int &  i) const
inline

!

Definition at line 66 of file TTigress.h.

References fBgos.

◆ GetBGO() [2/2]

TBgoHit& TTigress::GetBGO ( int &  i)
inline

!

Definition at line 67 of file TTigress.h.

References fBgos.

◆ GetBGOMultiplicity()

Short_t TTigress::GetBGOMultiplicity ( ) const
inline

!

Definition at line 64 of file TTigress.h.

References fBgos.

◆ GetBGOWave()

static bool TTigress::GetBGOWave ( )
inlinestatic

!

Definition at line 170 of file TTigress.h.

References kSetBGOWave, and TestGlobalBit().

◆ GetCoreWave()

static bool TTigress::GetCoreWave ( )
inlinestatic

!

Definition at line 168 of file TTigress.h.

References kSetCoreWave, and TestGlobalBit().

◆ GetFaceDistance()

static double TTigress::GetFaceDistance ( )
inlinestatic

Definition at line 186 of file TTigress.h.

References GetArrayBackPos().

◆ GetForceCrystal()

static bool TTigress::GetForceCrystal ( )
inlinestatic

!

Definition at line 171 of file TTigress.h.

References kForceCrystal, and TestGlobalBit().

Referenced by DefaultAddback().

◆ GetHit()

◆ GetHitVector()

◆ GetMultiplicity()

◆ GetNAddbackFrags()

UShort_t TTigress::GetNAddbackFrags ( size_t  idx) const

Definition at line 315 of file TTigress.cxx.

References fAddbackFrags.

◆ GetNBGOs()

int TTigress::GetNBGOs ( ) const
inline

!

Definition at line 65 of file TTigress.h.

References fBgos.

◆ GetPosition() [1/2]

TVector3 TTigress::GetPosition ( int  DetNbr,
int  CryNbr,
int  SegNbr,
double  dist = 0.,
bool  smear = false 
)
static

◆ GetPosition() [2/2]

TVector3 TTigress::GetPosition ( const TTigressHit hit,
double  dist = 0.,
bool  smear = false 
)
static

◆ GetSegmentWave()

static bool TTigress::GetSegmentWave ( )
inlinestatic

!

Definition at line 169 of file TTigress.h.

References kSetSegWave, and TestGlobalBit().

◆ GetSuppressionCriterion()

std::function<bool(TDetectorHit*, TBgoHit&)> TTigress::GetSuppressionCriterion ( ) const
inline

Definition at line 98 of file TTigress.h.

References fSuppressionCriterion.

◆ GetTigressHit()

TTigressHit* TTigress::GetTigressHit ( const int &  i) const
inline

Definition at line 58 of file TTigress.h.

References TDetector::GetHit().

Referenced by AddFragment().

◆ GetVectorsBuilt()

static bool TTigress::GetVectorsBuilt ( )
inlinestatic

!

Definition at line 173 of file TTigress.h.

References kVectorsBuilt, and TestGlobalBit().

Referenced by GetPosition().

◆ operator=()

TTigress & TTigress::operator= ( const TTigress rhs)

!

Definition at line 132 of file TTigress.cxx.

References Copy().

◆ Print() [1/2]

void TTigress::Print ( Option_t *  opt = "") const
override

!

Definition at line 117 of file TTigress.cxx.

◆ Print() [2/2]

void TTigress::Print ( std::ostream &  out) const
overridevirtual

!

Reimplemented from TDetector.

Definition at line 122 of file TTigress.cxx.

References TDetector::fHits, and TDetector::GetMultiplicity().

◆ ResetAddback()

void TTigress::ResetAddback ( )

!

Used to clear the addback hits. When playing back a tree, this must be called before building the new addback hits, otherwise, a copy of the old addback hits will be stored instead. This should have changed now, we're using the stored tigress bits to reset the addback

Definition at line 304 of file TTigress.cxx.

References fAddbackFrags, fAddbackHits, fTigressBits, kAddbackSet, and TTransientBits< T >::SetBit().

◆ SetAddbackCriterion()

void TTigress::SetAddbackCriterion ( std::function< bool(TDetectorHit *, TDetectorHit *)>  criterion)
inline

Definition at line 88 of file TTigress.h.

References fAddbackCriterion.

◆ SetArrayBackPos()

static bool TTigress::SetArrayBackPos ( bool  set = true)
inlinestatic

!

Definition at line 161 of file TTigress.h.

References BuildVectors(), kArrayBackPos, and SetGlobalBit().

◆ SetBGOWave()

static bool TTigress::SetBGOWave ( bool  set = true)
inlinestatic

!

Definition at line 151 of file TTigress.h.

References kSetBGOWave, and SetGlobalBit().

◆ SetCoreWave()

static bool TTigress::SetCoreWave ( bool  set = true)
inlinestatic

!

Definition at line 141 of file TTigress.h.

References kSetCoreWave, and SetGlobalBit().

◆ SetForceCrystal()

static bool TTigress::SetForceCrystal ( bool  set = true)
inlinestatic

!

Definition at line 156 of file TTigress.h.

References kForceCrystal, and SetGlobalBit().

◆ SetGlobalBit()

static void TTigress::SetGlobalBit ( ETigressGlobalBits  bit,
Bool_t  set = true 
)
inlinestaticprivate

◆ SetRadialOffset()

static void TTigress::SetRadialOffset ( double  offset)
inlinestatic

!

Definition at line 181 of file TTigress.h.

References BuildVectors(), and fRadialOffset.

◆ SetSegmentWave()

static bool TTigress::SetSegmentWave ( bool  set = true)
inlinestatic

!

Definition at line 146 of file TTigress.h.

References kSetSegWave, and SetGlobalBit().

◆ SetSuppressionCriterion()

void TTigress::SetSuppressionCriterion ( std::function< bool(TDetectorHit *, TBgoHit &)>  criterion)
inline

Definition at line 94 of file TTigress.h.

References fSuppressionCriterion.

◆ SetTargetOffset()

static void TTigress::SetTargetOffset ( double  offset)
inlinestatic

!

Definition at line 177 of file TTigress.h.

References BuildVectors(), and fTargetOffset.

◆ TestGlobalBit()

static Bool_t TTigress::TestGlobalBit ( ETigressGlobalBits  bit)
inlinestaticprivate

Member Data Documentation

◆ BGOSuppression

bool TTigress::BGOSuppression
static
Initial value:
= {{{true, true, true, true, true},
{true, false, false, false, false},
{false, false, false, false, false},
{false, false, false, false, true}},
{{false, false, false, false, true},
{true, true, true, true, true},
{true, false, false, false, false},
{false, false, false, false, false}},
{{false, false, false, false, false},
{false, false, false, false, true},
{true, true, true, true, true},
{true, false, false, false, false}},
{{true, false, false, false, false},
{false, false, false, false, false},
{false, false, false, false, true},
{true, true, true, true, true}}}

!

Definition at line 175 of file TTigress.h.

◆ fAddbackCriterion

std::function< bool(TDetectorHit *, TDetectorHit *)> TTigress::fAddbackCriterion = DefaultAddback
staticprivate

Definition at line 103 of file TTigress.h.

Referenced by GetAddbackCriterion(), GetAddbackMultiplicity(), and SetAddbackCriterion().

◆ fAddbackFrags

std::vector<UShort_t> TTigress::fAddbackFrags
private

! Number of crystals involved in creating in the addback hit

Definition at line 134 of file TTigress.h.

Referenced by Clear(), Copy(), GetAddbackMultiplicity(), GetNAddbackFrags(), and ResetAddback().

◆ fAddbackHits

std::vector<TDetectorHit*> TTigress::fAddbackHits
private

! Used to create addback hits on the fly

Definition at line 133 of file TTigress.h.

Referenced by Clear(), Copy(), GetAddbackHit(), GetAddbackMultiplicity(), and ResetAddback().

◆ fBgos

std::vector<TBgoHit> TTigress::fBgos

Definition at line 62 of file TTigress.h.

Referenced by AddBGO(), AddFragment(), BuildHits(), Clear(), Copy(), GetBGO(), GetBGOMultiplicity(), and GetNBGOs().

◆ fCloverCross

TVector3 TTigress::fCloverCross
staticprivate

! clover perpendicular vectors, for smearing

Definition at line 116 of file TTigress.h.

Referenced by BuildVectors(), and GetPosition().

◆ fCloverRadial

TVector3 TTigress::fCloverRadial
staticprivate
Initial value:
={TVector3(0., 0., 0.),
TVector3( 0.9239, 0.3827, 1.),
TVector3(-0.3827, 0.9239, 1.),
TVector3(-0.9239, -0.3827, 1.),
TVector3(0.3827, -0.9239, 1.),
TVector3( 0.9239, 0.3827, 0.),
TVector3(0.3827, 0.9239, 0.),
TVector3(-0.3827, 0.9239, 0.),
TVector3(-0.9239, 0.3827, 0.),
TVector3(-0.9239, -0.3827, 0.),
TVector3(-0.3827, -0.9239, 0.),
TVector3(0.3827, -0.9239, 0.),
TVector3(0.9239, -0.3827, 0.),
TVector3( 0.9239, 0.3827, -1.),
TVector3(-0.3827, 0.9239, -1.),
TVector3(-0.9239, -0.3827, -1.),
TVector3(0.3827, -0.9239, -1.)}

! clover direction vectors

Definition at line 115 of file TTigress.h.

Referenced by BuildVectors().

◆ fgTigressBits

TTransientBits< UShort_t > TTigress::fgTigressBits
staticprivate

Definition at line 106 of file TTigress.h.

Referenced by SetGlobalBit(), and TestGlobalBit().

◆ fHits

std::vector<TDetectorHit*> TDetector::fHits
protectedinherited

Definition at line 72 of file TDetector.h.

Referenced by TSiLi::AddCluster(), TEaglePulser::AddFragment(), TFippsPulser::AddFragment(), TGenericDetector::AddFragment(), TPaces::AddFragment(), TTdrSiLi::AddFragment(), TBgo::AddFragment(), TSiLi::AddFragment(), TTip::AddFragment(), TSceptar::AddFragment(), TTdrPlastic::AddFragment(), TTAC::AddFragment(), TFippsTAC::AddFragment(), TEagle::AddFragment(), TDescant::AddFragment(), TZeroDegree::AddFragment(), TTdrClover::AddFragment(), TTdrTigress::AddFragment(), TFipps::AddFragment(), TIfin::AddFragment(), TTrific::AddFragment(), TLaBr::AddFragment(), TFippsLaBr::AddFragment(), AddFragment(), TEmma::BuildHits(), TCSM::BuildHits(), TSharc::BuildHits(), BuildHits(), TSharc::Clear(), TDetector::Clear(), TEmma::Clear(), TTrific::Clear(), TDetector::ClearTransients(), TDetector::Copy(), TSiLi::GetAddbackMultiplicity(), GetAddbackMultiplicity(), TFipps::GetFippsHit(), TDetector::GetHit(), TDetector::GetHitVector(), TIfin::GetIfinHit(), TDetector::GetMultiplicity(), TTrific::GetMultiplicity(), TSharc::GetSize(), TFippsLaBr::GetSuppressedMultiplicity(), TLaBr::GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TSiLi::Print(), TTdrSiLi::Print(), TTAC::Print(), TPaces::Print(), TFippsTAC::Print(), TTip::Print(), TZeroDegree::Print(), TTdrPlastic::Print(), TSceptar::Print(), TEagle::Print(), TDetector::Print(), TDescant::Print(), TEmma::Print(), TFippsLaBr::Print(), TLaBr::Print(), TTrific::Print(), Print(), TSiLi::UseFitCharge(), and TDetector::~TDetector().

◆ fPositionVectors

TVector3 TTigress::fPositionVectors
staticprivate

!

Definition at line 113 of file TTigress.h.

Referenced by BuildVectors(), and GetPosition().

◆ fRadialOffset

double TTigress::fRadialOffset = 0.
staticprivate

!

Definition at line 110 of file TTigress.h.

Referenced by BuildVectors(), and SetRadialOffset().

◆ fSuppressionCriterion

std::function< bool(TDetectorHit *, TBgoHit &)> TTigress::fSuppressionCriterion = DefaultSuppression
staticprivate

Definition at line 104 of file TTigress.h.

Referenced by BuildHits(), GetSuppressionCriterion(), and SetSuppressionCriterion().

◆ fTargetOffset

double TTigress::fTargetOffset = 0.
staticprivate

!

Definition at line 109 of file TTigress.h.

Referenced by BuildVectors(), and SetTargetOffset().

◆ fTigressBits

TTransientBits<UShort_t> TTigress::fTigressBits
private

Definition at line 107 of file TTigress.h.

Referenced by Clear(), ClearTransients(), Copy(), GetAddbackMultiplicity(), and ResetAddback().

◆ GeBluePosition

double TTigress::GeBluePosition
staticprivate

! detector segment XYZ

Definition at line 119 of file TTigress.h.

Referenced by BuildVectors().

◆ GeBluePositionBack

double TTigress::GeBluePositionBack
staticprivate

! detector segment XYZ

Definition at line 123 of file TTigress.h.

Referenced by BuildVectors().

◆ GeGreenPosition

double TTigress::GeGreenPosition
staticprivate

!

Definition at line 120 of file TTigress.h.

Referenced by BuildVectors().

◆ GeGreenPositionBack

double TTigress::GeGreenPositionBack
staticprivate

!

Definition at line 124 of file TTigress.h.

Referenced by BuildVectors().

◆ GeRedPosition

double TTigress::GeRedPosition
staticprivate

!

Definition at line 121 of file TTigress.h.

Referenced by BuildVectors().

◆ GeRedPositionBack

double TTigress::GeRedPositionBack
staticprivate

!

Definition at line 125 of file TTigress.h.

Referenced by BuildVectors().

◆ GeWhitePosition

double TTigress::GeWhitePosition
staticprivate

!

Definition at line 122 of file TTigress.h.

Referenced by BuildVectors().

◆ GeWhitePositionBack

double TTigress::GeWhitePositionBack
staticprivate

!

Definition at line 126 of file TTigress.h.

Referenced by BuildVectors().

◆ SegmentFragments

std::vector<std::vector<std::shared_ptr<const TFragment> > > TTigress::SegmentFragments

Definition at line 49 of file TTigress.h.