18#include "TClonesArray.h"
58 static TVector3
GetPosition(
int DetNbr,
int CryNbr,
int SegNbr,
double dist = 0.,
bool smear =
false);
83#if !defined(__CINT__) && !defined(__CLING__)
98#if !defined(__CINT__) && !defined(__CLING__)
110 static std::array<std::array<std::array<std::array<TVector3, 9>, 4>, 17>, 2>
fPositionVectors;
116 static std::array<std::array<std::array<double, 3>, 9>, 17>
fGeBluePosition;
117 static std::array<std::array<std::array<double, 3>, 9>, 17>
fGeGreenPosition;
118 static std::array<std::array<std::array<double, 3>, 9>, 17>
fGeRedPosition;
119 static std::array<std::array<std::array<double, 3>, 9>, 17>
fGeWhitePosition;
173 static std::array<std::array<std::array<bool, 5>, 4>, 4>
fBGOSuppression;
194 void Clear(Option_t* opt =
"")
override;
195 void Print(Option_t* opt =
"")
const override;
196 void Print(std::ostream& out)
const override;
197 void Copy(TObject&)
const override;
virtual void ClearTransients()
!
virtual TDetectorHit * GetHit(const int &index) const
Int_t GetAddbackMultiplicity()
std::function< bool(TDetectorHit *, TDetectorHit *)> GetAddbackCriterion() const
std::vector< TBgoHit > fBgos
void SetAddbackCriterion(std::function< bool(TDetectorHit *, TDetectorHit *)> criterion)
void Copy(TObject &) const override
!
static bool SetCoreWave(bool set=true)
!
static bool GetVectorsBuilt()
!
std::vector< TDetectorHit * > fAddbackHits
! Used to create addback hits on the fly
static std::function< bool(TDetectorHit *, TDetectorHit *)> fAddbackCriterion
static double GetFaceDistance()
static std::array< std::array< std::array< double, 3 >, 9 >, 17 > fGeBluePositionBack
! detector segment XYZ
UShort_t GetNAddbackFrags(size_t idx) const
static bool GetArrayBackPos()
!
TTigressHit * GetTigressHit(const int &i) const
TTigressHit * GetAddbackHit(const int &)
static bool GetCoreWave()
!
static std::array< TVector3, 17 > fCloverRadial
! clover direction vectors
static std::array< std::array< TVector3, 2 >, 17 > fCloverCross
! clover perpendicular vectors, for smearing
static bool SetSegmentWave(bool set=true)
!
static std::array< std::array< std::array< double, 3 >, 9 >, 17 > fGeBluePosition
! detector segment XYZ
static bool GetForceCrystal()
!
static bool GetSegmentWave()
!
static std::array< std::array< std::array< double, 3 >, 9 >, 17 > fGeWhitePositionBack
!
static double fTargetOffset
!
static void SetTargetOffset(double offset)
!
static void SetGlobalBit(ETigressGlobalBits bit, Bool_t set=true)
void AddFragment(const std::shared_ptr< const TFragment > &, TChannel *) override
!
static bool SetArrayBackPos(bool set=true)
!
void BuildHits() override
!
static std::array< std::array< std::array< double, 3 >, 9 >, 17 > fGeGreenPosition
!
static std::array< std::array< std::array< double, 3 >, 9 >, 17 > fGeRedPositionBack
!
static std::array< std::array< std::array< double, 3 >, 9 >, 17 > fGeRedPosition
!
TBgoHit GetBGO(int &i) const
!
std::vector< std::vector< std::shared_ptr< const TFragment > > > SegmentFragments
static TVector3 GetPosition(int DetNbr, int CryNbr, int SegNbr, double dist=0., bool smear=false)
!
static void BuildVectors()
!
void SetSuppressionCriterion(std::function< bool(TDetectorHit *, TBgoHit &)> criterion)
static std::function< bool(TDetectorHit *, TBgoHit &)> fSuppressionCriterion
static Bool_t TestGlobalBit(ETigressGlobalBits bit)
static std::array< std::array< std::array< double, 3 >, 9 >, 17 > fGeGreenPositionBack
!
void ClearTransients() override
!
TTigress(TTigress &&) noexcept=default
void Clear(Option_t *opt="") override
!
void AddBGO(TBgoHit &bgo)
!
std::function< bool(TDetectorHit *, TBgoHit &)> GetSuppressionCriterion() const
static void SetRadialOffset(double offset)
!
TTransientBits< UShort_t > fTigressBits
static bool SetBGOWave(bool set=true)
!
void Print(Option_t *opt="") const override
!
static TTransientBits< UShort_t > fGlobalTigressBits
!
static bool SetForceCrystal(bool set=true)
!
Short_t GetBGOMultiplicity() const
!
static std::array< std::array< std::array< double, 3 >, 9 >, 17 > fGeWhitePosition
!
static std::array< std::array< std::array< std::array< TVector3, 9 >, 4 >, 17 >, 2 > fPositionVectors
!
static bool GetBGOWave()
!
static double fRadialOffset
!
std::vector< UShort_t > fAddbackFrags
! Number of crystals involved in creating in the addback hit
static std::array< std::array< std::array< bool, 5 >, 4 >, 4 > fBGOSuppression
!
TBgoHit & GetBGO(int &i)
!
void SetBit(T bit, Bool_t flag)
Bool_t TestBit(T bit) const
std::underlying_type< TTigress::ETigressGlobalBits >::type operator|(TTigress::ETigressGlobalBits lhs, TTigress::ETigressGlobalBits rhs)