Access to the number of associated clusters (M.Ivanov)
[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 #include "TObjArray.h"
12
13 #include "AliPosition.h"
14 #include "AliAttrib.h"
15
16 class AliSignal : public TNamed,public AliPosition,public AliAttrib
17 {
18  public:
19   AliSignal();                                          // Default constructor
20   virtual ~AliSignal();                                 // Destructor
21   AliSignal(AliSignal& s);                              // Copy constructor
22   virtual TObject* Clone(const char* name="");          // Make a deep copy and provide its pointer
23   virtual void SetSignal(Double_t sig,Int_t j=1);       // Store j-th signal value
24   virtual void AddSignal(Double_t sig,Int_t j=1);       // Add value to j-th signal value
25   virtual Float_t GetSignal(Int_t j=1,Int_t mode=0);    // Provide j-th (corrected) signal value
26   virtual void SetSignalError(Double_t dsig,Int_t j=1); // Store error on j-th signal value
27   virtual Float_t GetSignalError(Int_t j=1);            // Provide error j-th signal value
28   virtual void ResetSignals(Int_t mode=0);              // User selected reset of signal values and/or errors
29   virtual void DeleteSignals(Int_t mode=0);             // User selected delete of signal values and/or errors
30   virtual void Reset(Int_t mode=0);                     // Reset signal and position values and errors
31   virtual void Data(TString f="car");                   // Print all signal info for coord. frame f
32   virtual void List(Int_t j=0);                         // Print signal info for the j-th (or all) slot(s)
33   Int_t GetNvalues();                                   // Provide the number of signal values
34   Int_t GetNerrors();                                   // Provide the number of specified errors
35   Int_t GetNwaveforms();                                // Provide the number of specified waveforms
36   void SetWaveform(TH1F* waveform,Int_t j=1);           // Set the j-th waveform histogram
37   TH1F* GetWaveform(Int_t j=1);                         // Provide pointer of the j-th waveform histogram 
38   void ResetWaveform(Int_t j=1);                        // Reset the j-th waveform histogram 
39   void DeleteWaveform(Int_t j=1);                       // Delete the j-th waveform histogram 
40   Int_t GetNlinks();                                    // Provide the number of specified linked objects
41   void SetLink(TObject* obj,Int_t j=1);                 // Link object to the j-th slot
42   TObject* GetLink(Int_t j=1);                          // Provide pointer of the object linked to the j-th slot
43   void ResetLink(Int_t j=1);                            // Reset the link of the j-th slot
44   void ResetLink(TObject* obj);                         // Reset the link to the specified object in all slots
45
46  protected:
47   TArrayF* fSignals;                           // Signal values
48   TArrayF* fDsignals;                          // Errors on signal values
49   TObjArray* fWaveforms;                       // The 1D histograms containing the signal waveforms
50   TObjArray* fLinks;                           // Pointers of objects related to the various slots
51
52  ClassDef(AliSignal,10) // Generic handling of (extrapolated) detector signals.
53 };
54 #endif