]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSpListItem.h
Adapted to the new set of libraries
[u/mrichter/AliRoot.git] / ITS / AliITSpListItem.h
CommitLineData
fb4e90e0 1#ifndef ALIITSPLISTITEM_H
2#define ALIITSPLISTITEM_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
10
11class AliITSpListItem: public TObject {
12 public:
13 // Default Constructor
14 AliITSpListItem();
15 // Standard Signal Constructor
16 AliITSpListItem(Int_t track,Int_t hit,Int_t module,Int_t index,
17 Double_t signal);
18 // Standard Noise Constructor
19 AliITSpListItem(Int_t module,Int_t index,Double_t signal);
20 // Class destrutor
21 virtual ~AliITSpListItem();
22 // Copy Oporator
23 AliITSpListItem(AliITSpListItem &source);
24 // = Opoerator
25 virtual AliITSpListItem& operator=(const AliITSpListItem &source);
26 // Returns the signal value in the list of signals
27 virtual Double_t GetSignal(Int_t i) const {
28 return ( (i>=0&&i<fgksize) ? fSignal[i] : 0.0);}
29 virtual Double_t GetSignal() const {
30 return fTsignal;}
31 virtual Double_t GetSignalAfterElect() const {
32 return fSignalAfterElect;}
33 // Returns the Sum/Total signal
34 virtual Double_t GetSumSignal() const {return fTsignal+fNoise;}
35 // Returns the noise
36 virtual Double_t GetNoise() const {return fNoise;}
37 // Returns the number of stored singals.
38 virtual Int_t GetNsignals() const {return fgksize;}
39 // Addes track number and signal to this existing list.
40 virtual void AddSignal(Int_t track,Int_t hit,Int_t module,
41 Int_t index,Double_t signal);
42 // Adds signal after electronics to this existing list.
43 virtual void AddSignalAfterElect(Int_t module,Int_t index,Double_t signal);
44 // Addes noise to this existing list.
45 virtual void AddNoise(Int_t module,Int_t index,Double_t noise);
46 // Returns track number.
47 virtual Int_t GetTrack(Int_t i) const {
48 return ((i>=0&&i<fgksize) ? fTrack[i] : 0);}
49 // Returns hit number.
50 virtual Int_t GetHit(Int_t i) const {
51 return ((i>=0&&i<fgksize) ? fHits[i] : 0);}
52 // Returns module number.
53 virtual Int_t GetModule() const {
54 return fmodule;}
55 // Returns index number.
56 virtual Int_t GetIndex() const {
57 return findex;}
58 // Adds the contents of pl to this
59 virtual void Add(AliITSpListItem *pl);
60 // Adds the contents of pl to this with track number off set given by
61 // fileIndex.
62 virtual void AddTo(Int_t fileIndex,AliITSpListItem *pl);
63 // Shift an index number to occupy the upper four bits.
64 virtual Int_t ShiftIndex(Int_t in,Int_t trk) const;
65 // Standard ascii class print function
66 void Print(ostream *os) const;
67 // Standard ascii class read function
68 void Read(istream *is);
69 // Returns max size of array for for Tracks, Hits, and signals.
70 static Int_t GetMaxKept() {return fgksize;};
71
72 private:
73 static const Int_t fgksize = 10; // Array sizes
74 Int_t fmodule; // module number
75 Int_t findex; // Strip/row,col number linearlized.
76 Int_t fTrack[fgksize]; //[fgksize] track Number
77 Int_t fHits[fgksize]; //[fgksize] hit number
78 Double_t fSignal[fgksize]; //[fgksize] Signals
79 Double_t fTsignal; // Total signal (no noise)
80 Double_t fNoise; // Total noise, coupling, ...
81 Double_t fSignalAfterElect; // Signal after electronics
82
83 ClassDef(AliITSpListItem,3) // Item list of signals and track numbers
84};
85// Input and output functions for standard C++ input/output.
86ostream & operator<<(ostream &os,AliITSpListItem &source);
87istream & operator>>(istream &is,AliITSpListItem &source);
88
89
90#endif