| #include "DrcPidTrkDataK.hh" |
DrcPidTrkDataK
class description - source file - inheritance tree (.pdf)
private:
DrcPidTrkDataK(const DrcPidTrkDataK&)
void buildEmbedded() const
void loadFromEmbedded()
DrcPidTrkDataK& operator=(const DrcPidTrkDataK&)
protected:
virtual DrcPidInfo* buildTransient(KanEventReader& eR)
virtual Bool_t fillReadRefHook(KanEventReader& eR)
virtual Bool_t fillWriteRefHook(KanEventWriter& eW)
virtual void loadFrom(const DrcPidInfo*, KanEventWriter&)
virtual void resetHook(Dna::Scope scope = Dna::Event)
public:
DrcPidTrkDataK()
virtual ~DrcPidTrkDataK()
virtual Double_t consistency(PdtPid::PidType pid) const
virtual Double_t likelihood(PdtPid::PidType pid) const
virtual Double_t momentum() const
virtual UInt_t nBkg() const
virtual Double_t nExPhotons(PdtPid::PidType pid) const
virtual UInt_t nHit() const
virtual UInt_t nHypos() const
virtual void setTrkRecoTrkI(const TrkRecoTrkI* trk)
virtual Double_t thetaC() const
virtual Double_t thetaCErr() const
virtual const TrkRecoTrkI* trkRecoTrkI() const
private:
Bool_t _built ! True if transient caches have been built
DrcPidTrkData_001 _trkdata ! transient cache, filled by the following:
Char_t _nhypos must store this even for fixed-length hypo vector, as extra bits can be set
Char_t _alg Algorithm ID
UShort_t _thetac Packed value of Cerenkov angle
UShort_t _ethetac Packed value of error on Cerenkov Angle
UShort_t _index Not really sure. . .
UShort_t _statusDRC
UShort_t _momentum Packed value of momentum at the DiRC
Char_t _nhit Number of hits in Cerenkov Ring
Char_t _nbkg Number of background
DrcPidHypoData_002 _hypodata[5] ! transient cache, filled by the following:
UShort_t _nexphot[5] Number of expeceted photons for each PID hypothesis
UShort_t _consistency[5] Consistency for each PID hypothesis
UShort_t _likelihood[5] Likelihood for each PID hypothesis
KanObjectRef<DrcTrackI> _drctrk ! Reference to the DiRC Track...
KanReferenceSimple _drctrkVal ...and actual data
const TrkRecoTrkI* _trk ! provided from outside
This is the persistent storage class for DrcPidInfo objects.
This interface requires the following functions for interactive access:
// These functions apply to the various PID hypothesis
UInt_t nHypos() const // number of hypos stored for this ring
Double_t nExPhotons(Pdt::Pid pid) const // # of photons expected for hypo
Double_t consistency(Pdt::Pid pid) const // consistency with hypo
Double_t likelihood(Pdt::Pid pid) const // likilihood of hypo
// These functions are defined for the ring as a whole.
Double_t thetaC() const; // Cerenkov angle
Double_t thetaCErr() const; // Error on Cerenkov angle
Double_t momentum() const; // Momentum at the DiRC
UInt_t nHit() const // Number of hits in the ring
UInt_t nBkg() const // Number of background hits in the ring
Additionally, this interface requires two functions which are used in
transient-persistent-transient conversion:
void setTrkRecoTrkI(const TrkRecoTrkI*); // Cache the associated track
const TrkRecoTrkI* trkRecoTrkI() const; // Return the associated track
These functions are called when rebuilding the PidSummary objects.
Persistent Location:
Aod::"Pid_DrcPids"
Persistent Size: 48 Bytes per object (unpacked)
Structure:
// DrcTrack data
Char_t _nhypos; // slways 5
Char_t _alg; // Algorithm ID
UShort_t _thetac; // Cerenkov angle packed flat from 0. - 1.
UShort_t _ethetac; // Eerror on Cerenkov Angle packed flat from 0. - 0.1
UShort_t _index; // Not really sure. . .
UShort_t _statusDRC; // .. what these two are meant to be
UShort_t _momentum; // Momentum at the DiRC packed flat from 0. - 8. (15 bits)
Char_t _nhit; // Number of hits in Cerenkov Ring
Char_t _nbkg; // Number of background
// Hypo data
UShort_t _nexphot[5]; // Number of expeceted photons for each PID hypothesis
UShort_t _consistency[5]; // Consistency for each PID hypothesis
UShort_t _likelihood[5]; // Likelihood for each PID hypothesis
DrcPidTrkDataK() : _built(kFALSE),
_drctrk(_drctrkVal,*this,Dna::Event),
_trk(0)
~DrcPidTrkDataK()
Double_t nExPhotons(PdtPid::PidType pid) const
Double_t consistency(PdtPid::PidType pid) const
Double_t likelihood(PdtPid::PidType pid) const
Double_t thetaC() const
Double_t thetaCErr() const
Double_t momentum() const
UInt_t nHit() const
UInt_t nBkg() const
void loadFrom ( const DrcPidInfo* transient, KanEventWriter & eW)
fill the persistent data from a transient object
DrcPidInfo* buildTransient( KanEventReader& eR )
build a transient object from the persistent data
Bool_t fillReadRefHook(KanEventReader& eR)
Bool_t fillWriteRefHook(KanEventWriter& eW)
void resetHook(Dna::Scope scope)
void loadFromEmbedded()
fill the persitent data from the transient cache
void buildEmbedded() const
build a transient cache from the persistent data
Inline Functions
UInt_t nHypos() const
void setTrkRecoTrkI(const TrkRecoTrkI* trk)
const TrkRecoTrkI* trkRecoTrkI() const
DrcPidTrkDataK DrcPidTrkDataK(const DrcPidTrkDataK&)
DrcPidTrkDataK& operator=(const DrcPidTrkDataK&)
Author: L. Wilden
Last update: DrcPidTrkDataK.cc,v 1.21 2004/08/06 06:23:53 bartoldu Exp $
Copyright (C) 2002 TU Dresden
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.
|