]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSdigit.h
Modifications to reduce the size in memory (E.Crescio)
[u/mrichter/AliRoot.git] / ITS / AliITSdigit.h
1 #ifndef ALIITSDIGIT_H
2 #define ALIITSDIGIT_H
3 /* Copyright(c) 2004-2006, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////
9 //  Digits classes for all ITS detectors      //
10 ////////////////////////////////////////////////
11 #include <Riostream.h>
12 #include <Riostream.h>
13 #include <TObject.h>
14
15 class TObjArray;
16 class TArrayI;
17 class TArrayF;
18
19 //______________________________________________________________________
20 class AliITSdigit: public TObject  {
21
22  public:
23     AliITSdigit() {//default constructor. zero all values.
24         fSignal=fCoord1=fCoord2=0;}
25     //Standard Constructor. Fills class from array digits
26     AliITSdigit(const Int_t *digits);
27     //Destructor
28     virtual ~AliITSdigit() { }
29     // returns the array size used to store Tracks and Hits
30     // virtual Int_t GetNTracks() {return 0;}
31     //returns pointer to array of tracks numbers
32     virtual Int_t *GetTracks() {return 0;}
33     // returns pointer to array of hits numbers for this module (as given by
34     // AliITSmodule).
35     virtual Int_t *GetHits() {return 0;}
36     // returns track number kept in the array element i of fTracks 
37     virtual Int_t GetTrack(Int_t) const {return 0;}
38     // returns hit number kept in the array element i of fHits 
39     virtual Int_t GetHit(Int_t) const {return 0;}
40     virtual Int_t GetCoord1() const {return fCoord1;} // returns fCoord1
41     virtual Int_t GetCoord2() const {return fCoord2;} // returns fCoord2
42     virtual Int_t GetSignal() const {return fSignal;} // returns fSignal
43     virtual Int_t GetCompressedSignal() const {return GetSignal();} // overloaded in AliITSdigitSDD
44     virtual void SetCoord1(Int_t i){fCoord1 = i;} // Sets fCoord1 value
45     virtual void SetCoord2(Int_t i){fCoord2 = i;} // Sets fCoord12value
46     virtual void SetSignal(Int_t i){fSignal = i;} // Sets fSignal value
47
48     virtual void Print(Option_t *option="") const {TObject::Print(option);}
49     virtual void Print(ostream *os); // Class ascii print function
50     virtual Int_t Read(const char *name) {return TObject::Read(name);}
51     virtual void Read(istream *os);  // Class ascii read function
52
53  protected:
54     Int_t fCoord1; // Cell number on Z axis (SPD+SDD), flag for side type (SSD)
55     Int_t fCoord2; // Cell number on X axis (SPD+SDD), strip number (SSD)
56     Int_t fSignal; // Signal in ADC counts
57
58     ClassDef(AliITSdigit,1)     // Real data digit object for set:ITS
59
60 };
61 // Input and output functions for standard C++ input/output.
62 ostream &operator<<(ostream &os,AliITSdigit &source);
63 istream &operator>>(istream &os,AliITSdigit &source);
64
65 #endif