34void TDetectorHit::Streamer(TBuffer& R__b)
37 if(R__b.IsReading()) {
38 R__b.ReadClassBuffer(TDetectorHit::Class(),
this);
41 R__b.WriteClassBuffer(TDetectorHit::Class(),
this);
51 if(tmpChan ==
nullptr) {
52 return SetTime(
static_cast<Double_t
>(
static_cast<double>(
GetTimeStamp()) + gRandom->Uniform()));
61 if(channel ==
nullptr) {
79 if(channel ==
nullptr) {
99 if(channel ==
nullptr) {
150 std::ostringstream str;
151 str <<
"==== " << ClassName() <<
" @ " <<
this <<
" ====" << std::endl;
152 str <<
"\t" <<
GetName() << std::endl;
153 str <<
"\tCharge: " <<
Charge() << std::endl;
154 str <<
"\tTime: " <<
GetTime() << std::endl;
156 str <<
"============================" << std::endl;
163 if(channel ==
nullptr) {
164 return Class()->ClassName();
166 return channel->GetName();
189 if(channel ==
nullptr) {
198 if(channel ==
nullptr) {
207 if(channel !=
nullptr) {
221 if(chan ==
nullptr) {
230 if(tmpChan ==
nullptr) {
239 if(chan ==
nullptr) {
double CalibrateENG(double) const
int GetDetectorNumber() const
int GetCrystalNumber() const
double GetTime(Long64_t timestamp, Float_t cfd, double energy) const
int GetSegmentNumber() const
TGraph GetEnergyNonlinearity() const
bool UseCalFileIntegration()
static TChannel * GetChannel(unsigned int temp_address, bool warn=false)
Long64_t GetTimeOffset() const
double GetTimeDrift() const
int GetTimeStampUnit() const
int GetIntegration() const
virtual Float_t GetCharge() const
!
Double_t SetEnergy(const double &energy) const
double GetTimeSinceTapeMove() const
TDetectorHit(const int &Address=0xffffffff)
virtual Long64_t GetTimeStampNs(Option_t *opt="") const
virtual Long64_t GetTimeStamp(Option_t *="") const
virtual double GetEnergy(Option_t *opt="") const
EPpgPattern GetPPGStatus() const
virtual void ClearTransients() const
const char * GetName() const override
!
std::vector< Short_t > fWaveform
TTransientBits< UChar_t > fBitFlags
virtual Int_t GetCrystal() const
!
Long64_t fCycleTimeStamp
!
virtual Float_t Charge() const
!
Float_t fCharge
charge collected from the hit
virtual Double_t GetEnergyNonlinearity(double energy) const
virtual int GetChannelNumber() const
!
TChannel * GetChannel() const
!
virtual Int_t GetTimeStampUnit() const
!
Double_t fTime
! Calibrated Time of the hit
bool TestHitBit(EBitFlag flag) const
UInt_t fAddress
address of the the channel in the DAQ.
Double_t fEnergy
! Energy of the Hit.
static bool CompareEnergy(TDetectorHit *lhs, TDetectorHit *rhs)
void Clear(Option_t *opt="") override
!
virtual Int_t GetDetector() const
!
virtual Float_t GetCfd() 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 SetHitBit(EBitFlag, Bool_t set=true) const
Short_t fKValue
integration value.
static TVector3 fBeamDirection
Long64_t fTimeStamp
Timestamp given to hit in ns.
Long64_t GetCycleTimeStamp() const
Float_t fCfd
CFD time of the Hit.
Double_t SetTime(const Double_t &time) const
virtual void CopyWave(TObject &) const
!
void Print(Option_t *opt="") const override
!
static TGRSIOptions * Get(int argc=0, char **argv=nullptr)
Do not use!
EPpgPattern GetStatus(ULong64_t time) const
ULong64_t GetLastStatusTime(ULong64_t time, EPpgPattern pat=EPpgPattern::kJunk) const
static TPPG * Get(bool verbose=false)
void SetBit(T bit, Bool_t flag)