#include "AliAttrib.h"
#include "AliObjMatrix.h"
+class AliDevice;
+class AliTrack;
+
class AliSignal : public TNamed,public AliPosition,public AliAttrib
{
public:
virtual void ResetSignals(Int_t mode=0); // Selective reset of signal values and/or errors
virtual void DeleteSignals(Int_t mode=0); // Selectie delete of signal values and/or errors
virtual void Reset(Int_t mode=0); // Reset signal and position values and errors
- virtual void Data(TString f="car") const; // Print all signal info for coord. frame f
+ virtual void Data(TString f="car",TString u="rad") const; // Print all signal info for frame f and ang units u
virtual void List(Int_t j=0) const; // Print signal info for the j-th (all) slot(s)
virtual void List(TString name) const; // Print signal info for the name-specified slot
+ void ListWaveform(Int_t j=0) const; // Print info for the j-th (all) waveform(s)
+ void ListTrack(Int_t j=0) const; // Print info for the j-th (all) assoc. track(s)
Int_t GetNvalues() const; // Provide the number of signal values
Int_t GetNerrors() const; // Provide the number of specified errors
+ virtual Int_t GetNslots() const; // Provide the number of exising slots
Int_t GetNwaveforms() const; // Provide the number of specified waveforms
- void SetWaveform(TH1F* waveform,Int_t j=1); // Set the waveform histogram for the j-th slot
- void SetWaveform(TH1F* waveform,TString name); // Set the waveform histo for the name-specified slot
- TH1F* GetWaveform(Int_t j=1) const; // Pointer to the waveform histo of the j-th slot
- TH1F* GetWaveform(TString name) const; // Pointer to the waveform of the name-specified slot
- void ResetWaveform(Int_t j=1); // Reset the waveform histo of the j-th slot
- void ResetWaveform(TString name); // Reset the waveform histo of the name-specified slot
- void DeleteWaveform(Int_t j=1); // Delete waveform histo of the j-th slot
- void DeleteWaveform(TString name); // Delete waveform histo of the name-specified slot
+ void SetWaveform(TH1F* waveform,Int_t j=1); // Set the histogram for the j-th waveform
+ TH1F* GetWaveform(Int_t j=1) const; // Pointer to the histo of the j-th waveform
+ TH1F* GetWaveform(TString name) const; // Pointer to the waveform with the specified name
+ Int_t GetWaveformIndex(TString name) const; // Index of the waveform with the specified name
+ void ResetWaveform(Int_t j=1); // Reset the histo of the j-th waveform
+ void ResetWaveform(TString name); // Reset the waveform histo with the specified name
+ void DeleteWaveform(Int_t j=1); // Delete histo of the j-th waveform
+ void DeleteWaveform(TString name); // Delete waveform histo with the specified name
Int_t GetNlinks(TObject* obj=0,Int_t j=0) const; // Number of links for the specified object
Int_t GetNlinks(TObject* obj,TString name) const; // Number of links for the specified object
void SetLink(TObject* obj,Int_t j=1,Int_t k=1); // Link object to the j-th slot at position k
void ResetLinks(TObject* obj,TString name,Int_t k=0); // Reset link(s) to object obj for name-specified slot
void SetSwapMode(Int_t swap=1); // Set swapmode flag for the link storage
Int_t GetSwapMode() const; // Provide swapmode flag for the link storage
+ void SetDevice(TObject* dev); // Store pointer to the device that owns this signal
+ AliDevice* GetDevice() const; // Provide pointer to the owning device
+ void AddTrack(AliTrack& t,Int_t mode=1); // Relate an AliTrack to this signal
+ void RemoveTrack(AliTrack& t,Int_t mode=1); // Remove related AliTrack from this signal
+ void RemoveTracks(Int_t mode=1); // Remove all related AliTracks from this signal
+ Int_t GetNtracks(AliTrack* t=0) const; // Provide number of related AliTracks
+ AliTrack* GetTrack(Int_t j) const; // Access to the related AliTrack number j
+ AliTrack* GetIdTrack(Int_t id) const; // Access to the related AliTrack with ID=id
+ Int_t GetSignalFlag(Int_t j=1) const; // Provide signal value flag of the j-th slot
+ Int_t GetSignalFlag(TString name) const; // Provide signal value flag of the name specified slot
+ Int_t GetErrorFlag(Int_t j=1) const; // Provide error value flag of the j-th slot
+ Int_t GetErrorFlag(TString name) const; // Provide error value flag of the name specified slot
protected:
+ void SetSigFlags(Int_t is,Int_t ie,Int_t j); // Set flags for signal and/or error value settings
TArrayF* fSignals; // Signal values
TArrayF* fDsignals; // Errors on signal values
+ TArrayI* fSigflags; // Flags to mark setting of signal and/or error values
TObjArray* fWaveforms; // The 1D histograms containing the signal waveforms
AliObjMatrix* fLinks; // Pointers of objects related to the various slots
+ TObject* fDevice; // Pointer to the device that owns this signal
+ TObjArray* fTracks; // Pointers to associated tracks
- ClassDef(AliSignal,12) // Generic handling of (extrapolated) detector signals.
+ ClassDef(AliSignal,16) // Generic handling of (extrapolated) detector signals.
};
#endif