1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 #include "AliRICHTransientDigit.h"
19 #include <TObjArray.h>
22 ClassImp(AliRICHTransientDigit)
24 //____________________________________________________________________________
25 AliRICHTransientDigit::AliRICHTransientDigit(Int_t ich, Int_t *digits):
29 // Creates a RICH digit list object
33 fTrackList = new TObjArray;
36 //_____________________________________________________________________________
38 AliRICHTransientDigit::~AliRICHTransientDigit()
44 ////////////////////////////////////////////////////////////////////////
45 void AliRICHTransientDigit::AddToTrackList(Int_t track, Int_t charge)
47 TVector *pTrInfo = new TVector(2);
48 TVector &trInfo = *pTrInfo;
51 fTrackList->Add(pTrInfo);
54 ////////////////////////////////////////////////////////////////////////
55 void AliRICHTransientDigit::UpdateTrackList(Int_t track, Int_t charge)
57 Int_t lastEntry = fTrackList->GetLast();
58 TVector *pVect = static_cast<TVector*>(fTrackList->At(lastEntry));
59 if ( static_cast<Int_t>((*pVect)(0)) == track) {
60 (*pVect)(1) += charge; // update charge
62 AddToTrackList(track,charge);
66 ////////////////////////////////////////////////////////////////////////
67 Int_t AliRICHTransientDigit::GetTrack(Int_t i) const
69 if (i > fTrackList->GetEntriesFast()) return 0;
70 TVector *pVect = static_cast<TVector*>(fTrackList->At(i));
71 return static_cast<Int_t>((*pVect)(0));
75 ////////////////////////////////////////////////////////////////////////
76 Int_t AliRICHTransientDigit::GetCharge(Int_t i) const
78 if (i > fTrackList->GetEntriesFast()) return 0;
79 TVector *pVect = static_cast<TVector*>(fTrackList->At(i));
80 return static_cast<Int_t>((*pVect)(1));