678b3c0eed5a647cbce73700c6d35c428cf6244f
[u/mrichter/AliRoot.git] / RALICE / AliSignal.h
1 #ifndef ALISIGNAL_H
2 #define ALISIGNAL_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // $Id$
7
8 #include "TObject.h"
9 #include "TArrayF.h"
10 #include "TH1.h"
11
12 #include "AliPosition.h"
13
14 class AliSignal : public TObject,public AliPosition
15 {
16  public:
17   AliSignal();                                          // Default constructor
18   virtual ~AliSignal();                                 // Destructor
19   AliSignal(AliSignal& s);                              // Copy constructor
20   virtual void SetSignal(Double_t sig,Int_t j=1);       // Store j-th signal value
21   virtual void AddSignal(Double_t sig,Int_t j=1);       // Add value to j-th signal value
22   virtual Float_t GetSignal(Int_t j=1);                 // Provide j-th signal value
23   virtual void SetSignalError(Double_t dsig,Int_t j=1); // Store error on j-th signal value
24   virtual Float_t GetSignalError(Int_t j=1);            // Provide error j-th signal value
25   virtual void ResetSignals(Int_t mode=0);              // User selected reset of signal values and/or errors
26   virtual void DeleteSignals(Int_t mode=0);             // User selected delete of signal values and/or errors
27   virtual void ResetPosition();                         // Reset position and errors to 0
28   virtual void Reset(Int_t mode=0);                     // Reset signal and position values and errors
29   void Data(TString f="car");                           // Print signal info for coord. frame f
30   void SetName(TString name);                           // Set the name tag to indicate the kind of signal
31   TString GetName();                                    // Provide the name tag indicating the kind of signal
32   Int_t GetNvalues();                                   // Provide the number of signal values
33   Int_t GetNerrors();                                   // Provide the number of specified errors
34   TH1F* GetWaveform();                                  // Provide pointer of the waveform histogram
35   void SetWaveform(TH1F* waveform);                     // Set the waveform histogram
36   virtual AliSignal* MakeCopy(AliSignal& s);            // Make a deep copy and provide its pointer
37
38
39  protected:
40   TArrayF* fSignal;  // Signal values
41   TArrayF* fDsignal; // Errors on signal values
42   TString fName;     // Name tag to identify the kind of signal
43   TH1F* fHwaveform;  // The 1D histogram containing the waveform
44
45  ClassDef(AliSignal,7) // Generic handling of (extrapolated) detector signals.
46 };
47 #endif