84 std::ostringstream str;
85 str <<
"==== TigressHit @ " <<
this <<
" ====" << std::endl
86 <<
"\t" <<
GetName() << std::endl
87 <<
"\tCharge: " <<
GetCharge() << std::endl
88 <<
"\tEnergy: " <<
GetEnergy() << std::endl
89 <<
"\tTime: " <<
GetTime() << std::endl
90 <<
"\tCore set: " << (
CoreSet() ?
"true" :
"false") << std::endl
91 <<
"\tBGO Fired: " << (
BGOFired() ?
"true" :
"false") << std::endl
93 <<
"\thit contains " <<
GetNSegments() <<
" segments:" << std::endl;
94 str <<
"Name Charge" << std::endl;
99 str << p.GetName() <<
" " << p.GetTitle() <<
" (x,y,z)=(" << p.X() <<
"," << p.Y() <<
"," << p.Z() <<
") (rho,theta,phi)=(" << p.Mag() <<
"," << p.Theta() <<
"," << p.Phi() <<
")" << std::endl;
100 str <<
"============================" << std::endl;
142 if(hit ==
this) {
return; }
144 const auto* tigressHit =
dynamic_cast<const TTigressHit*
>(hit);
145 if(tigressHit ==
nullptr) {
146 throw std::runtime_error(
"trying to add non-griffin hit to griffin hit!");
151 SetCfd(tigressHit->GetCfd());
152 SetTime(tigressHit->GetTime());
161 if((
NPileUps() + tigressHit->NPileUps()) < 4) {
166 if((
PUHit() + tigressHit->PUHit()) < 4) {
172 if(
GetKValue() > tigressHit->GetKValue()) {
215 if(chan ==
nullptr) {
216 Error(
"GetEnergy",
"No TChannel exists for address 0x%08x",
GetAddress());
double CalibrateENG(double) const
void SetKValue(const Short_t &temp_kval)
!
virtual Float_t GetCharge() const
!
Double_t SetEnergy(const double &energy) const
virtual UInt_t GetAddress() const
!
virtual void SetCfd(const Float_t &val)
!
virtual Long64_t GetTimeStamp(Option_t *="") const
virtual double GetEnergy(Option_t *opt="") const
virtual Short_t GetKValue() const
!
const char * GetName() const override
!
const std::vector< Short_t > * GetWaveform() const
!
virtual Int_t GetCrystal() const
!
virtual Float_t Charge() const
!
TChannel * GetChannel() const
!
void SetCharge(const Float_t &temp_charge)
!
void Clear(Option_t *opt="") override
!
virtual Int_t GetDetector() const
!
virtual Int_t GetSegment() const
!
void Copy(TObject &) const override
!
virtual Double_t GetTime(const ETimeFlag &correct_flag=ETimeFlag::kAll, Option_t *opt="") const
Returns a time value to the nearest nanosecond!
void SetAddress(const UInt_t &temp_address)
!
Double_t SetTime(const Double_t &time) const
virtual void CopyWave(TObject &) const
!
Short_t GetNumberOfPileups() const
int GetNSegments() const
!
Double_t GetNoCTEnergy(Option_t *opt="") const
TTransientBits< UChar_t > fTigressHitBits
Transient Member Flags.
void Print(Option_t *opt="") const override
!
void Clear(Option_t *opt="") override
!
void SetPUHit(UChar_t puhit)
UShort_t NPileUps() const
Double_t GetDefaultDistance() const
TVector3 GetPosition() const override
!
void CopyFragment(const TFragment &)
void Add(const TDetectorHit *) override
!
Int_t fFilter
The Filter Word.
static bool Compare(const TTigressHit *, const TTigressHit *)
!
std::vector< TDetectorHit > fSegments
const TDetectorHit & GetSegmentHit(int i) const
!
void SetNPileUps(UChar_t npileups)
static bool CompareEnergy(const TTigressHit *, const TTigressHit *)
!
TVector3 GetLastPosition(double dist) const
!
void Copy(TObject &) const override
!
void SetTigressFlag(ETigressHitBits, Bool_t set)
static TVector3 GetPosition(int DetNbr, int CryNbr, int SegNbr, double dist=110.0, bool smear=false)
!
void SetBit(T bit, Bool_t flag)