]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSpListItem.h
New version of TOF tracker which uses TOF clusters as an input (A. De Caro)
[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);
d2f55a22 69 virtual void Print(Option_t *option="") const {TObject::Print(option);}
70 virtual Int_t Read(const char *name) {return TObject::Read(name);}
71
fb4e90e0 72 // Returns max size of array for for Tracks, Hits, and signals.
73 static Int_t GetMaxKept() {return fgksize;};
74
75 private:
76 static const Int_t fgksize = 10; // Array sizes
77 Int_t fmodule; // module number
78 Int_t findex; // Strip/row,col number linearlized.
79 Int_t fTrack[fgksize]; //[fgksize] track Number
80 Int_t fHits[fgksize]; //[fgksize] hit number
81 Double_t fSignal[fgksize]; //[fgksize] Signals
82 Double_t fTsignal; // Total signal (no noise)
83 Double_t fNoise; // Total noise, coupling, ...
84 Double_t fSignalAfterElect; // Signal after electronics
85
86 ClassDef(AliITSpListItem,3) // Item list of signals and track numbers
87};
88// Input and output functions for standard C++ input/output.
89ostream & operator<<(ostream &os,AliITSpListItem &source);
90istream & operator>>(istream &is,AliITSpListItem &source);
91
92
93#endif