#include "TObject.h"
#include "TArrayF.h"
+#include "TH1.h"
+#include "TObjArray.h"
#include "AliPosition.h"
+#include "AliAttrib.h"
-class AliSignal : public TObject,public AliPosition
+class AliSignal : public TObject,public AliPosition,public AliAttrib
{
public:
- AliSignal(Int_t n=1); // Default constructor
- ~AliSignal(); // Destructor
+ AliSignal(); // Default constructor
+ virtual ~AliSignal(); // Destructor
+ AliSignal(AliSignal& s); // Copy constructor
virtual void SetSignal(Double_t sig,Int_t j=1); // Store j-th signal value
virtual void AddSignal(Double_t sig,Int_t j=1); // Add value to j-th signal value
- virtual Float_t GetSignal(Int_t j=1); // Provide j-th signal value
+ virtual Float_t GetSignal(Int_t j=1,Int_t mode=0); // Provide j-th (corrected) signal value
virtual void SetSignalError(Double_t dsig,Int_t j=1); // Store error on j-th signal value
virtual Float_t GetSignalError(Int_t j=1); // Provide error j-th signal value
- virtual void ResetSignals(); // Reset all signal values and errors to 0
+ virtual void ResetSignals(Int_t mode=0); // User selected reset of signal values and/or errors
+ virtual void DeleteSignals(Int_t mode=0); // User selected delete of signal values and/or errors
virtual void ResetPosition(); // Reset position and errors to 0
- virtual void Reset(); // Reset signal and pos. values and errors
- void Info(TString f="car"); // Print signal info for coord. frame f
+ virtual void Reset(Int_t mode=0); // Reset signal and position values and errors
+ void Data(TString f="car",Int_t j=0); // Print j-th signal info for coord. frame f
void SetName(TString name); // Set the name tag to indicate the kind of signal
TString GetName(); // Provide the name tag indicating the kind of signal
+ Int_t GetNvalues(); // Provide the number of signal values
+ Int_t GetNerrors(); // Provide the number of specified errors
+ Int_t GetNwaveforms(); // Provide the number of specified waveforms
+ void SetWaveform(TH1F* waveform,Int_t j=1); // Set the j-th waveform histogram
+ TH1F* GetWaveform(Int_t j=1); // Provide pointer of the j-th waveform histogram
+ void ResetWaveform(Int_t j=1); // Reset the j-th waveform histogram
+ void DeleteWaveform(Int_t j=1); // Delete the j-th waveform histogram
+ virtual AliSignal* MakeCopy(AliSignal& s); // Make a deep copy and provide its pointer
protected:
- Int_t fNvalues; // The number of values per signal
- TArrayF* fSignal; // Signal values
- TArrayF* fDsignal; // Errors on signal values
- TString fName; // Name tag to identify the kind of signal
+ TArrayF* fSignals; // Signal values
+ TArrayF* fDsignals; // Errors on signal values
+ TString fName; // Name tag to identify the kind of signal
+ TObjArray* fWaveforms; // The 1D histograms containing the signal waveforms
- ClassDef(AliSignal,2) // Handling of ALICE (extrapolated) signals.
+ ClassDef(AliSignal,8) // Generic handling of (extrapolated) detector signals.
};
#endif