]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDRawStream.h
Preparing to make a better virtual volume for the FMD3 sub-detector -
[u/mrichter/AliRoot.git] / FMD / AliFMDRawStream.h
1 #ifndef ALIFMDRAWSTREAM_H
2 #define ALIFMDRAWSTREAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved. 
5  *
6  * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
7  *
8  * See cxx source for full Copyright notice                               
9  */
10 #ifndef ALIALTRORAWSTREAM_H
11 # include <AliAltroRawStream.h>
12 #endif 
13
14
15 // TPC to FMD translations 
16 // 
17 //    TPC                FMD
18 //    ----------+-----------
19 //    pad+time  |      strip
20 //    row       |     sector
21 //    sector    |       ring
22 // 
23 class AliFMDRawStream : public AliAltroRawStream 
24 {
25 public:
26   AliFMDRawStream(AliRawReader* reader);
27
28   Short_t Sector()      const { return fRow; }
29   Char_t  Ring()        const { return (fSector == 0 ? 'I' : 'O'); }
30   Short_t Strip()       const { return fPad + fTime / fSampleRate; }
31   Short_t PrevSector()  const { return fPrevRow; }
32   Char_t  PrevRing()    const { return (fPrevSector == 0 ? 'I' : 'O'); }
33   Short_t PrevStrip()   const { return fPrevPad + fPrevTime/fSampleRate; }
34
35   Bool_t  IsNewRing()   const { return (fSector != fPrevSector); }
36   Bool_t  IsNewSector() const { return (fRow != fPrevRow) || IsNewRing(); }
37   Bool_t  IsNewStrip()  const { return(Strip() != PrevStrip())||IsNewSector();}
38     
39   Short_t Count()      const { return fSignal; }
40   Short_t SampleRate() const { return fSampleRate; }
41   
42   virtual Bool_t   Next();
43   
44 private:
45   UShort_t fSampleRate; // # of ALTRO samples per VA1_ALICE clock
46   Int_t    fPrevTime;   // Last time bin
47
48   ClassDef(AliFMDRawStream, 0) // Read raw FMD Altro data 
49 };
50
51 #endif
52 //____________________________________________________________________
53 //
54 // Local Variables:
55 //   mode: C++
56 // End:
57 //
58 // EOF
59 //