]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/AliDevice.h
82214642bb9fa3fd78833cb24ee67cd507bd191a
[u/mrichter/AliRoot.git] / RALICE / AliDevice.h
1 #ifndef ALIDEVICE_H
2 #define ALIDEVICE_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 "AliSignal.h"
9
10 class AliDevice : public AliSignal
11 {
12  public:
13   AliDevice();                                       // Default constructor
14   virtual ~AliDevice();                              // Default destructor
15   AliDevice(const AliDevice& dev);                   // Copy constructor
16   virtual TObject* Clone(const char* name="") const; // Make a deep copy and provide its pointer
17   void SetHitCopy(Int_t j);                          // (De)activate creation of private copies of hits
18   Int_t GetHitCopy() const;                          // Provide HitCopy flag value      
19   void AddHit(AliSignal& s);                         // Register an AliSignal object as a hit to this module
20   void AddHit(AliSignal* s) { if (s) AddHit(*s); }
21   void RemoveHit(AliSignal& s);                      // Remove AliSignal object as hit from this module
22   void RemoveHit(AliSignal* s) { if (s) RemoveHit(*s); }
23   void RemoveHits();                                 // Remove all AliSignals as hits from this module
24   Int_t GetNhits() const;                            // Provide number of registered hits
25   AliSignal* GetHit(Int_t j) const;                  // Access to the AliSignal registered as hit number j
26   TObjArray* GetHits();                              // Provide the references to all the registered hits
27   virtual void Reset(Int_t mode=0);                  // Reset registered hits and AliSignal attributes
28   void ShowHit(Int_t j=0) const;                     // Show data of the j-th hit (j=0 means all hits)
29   virtual void Data(TString f="car") const;          // Print device and all signal info for coord. frame f
30   TObjArray SortHits(TString name,Int_t mode=-1,TObjArray* hits=0) const; // Sort hits by named signal value
31   TObjArray SortHits(Int_t idx=1,Int_t mode=-1,TObjArray* hits=0) const;  // Sort hits by indexed signal value
32
33  protected:
34   Int_t fHitCopy;   // Flag to denote making private copies of added hits
35   TObjArray* fHits; // Array to hold the associated hits
36
37  ClassDef(AliDevice,2) // Signal (Hit) handling of a generic device.
38 };
39 #endif