1 /**************************************************************************
2 * Copyright(c) 1998-2003, 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 **************************************************************************/
17 // Storing digits in a binary file
18 // according to the DDL mapping
19 // To be used in Alice Data Challenges
20 // This class is used by AliVZERODDL.C macro
23 #include <Riostream.h>
24 #include <TObjArray.h>
25 #include "AliRawDataHeader.h"
26 #include "AliVZEROBuffer.h"
31 ClassImp(AliVZEROBuffer)
33 //_____________________________________________________________________________
34 AliVZEROBuffer::AliVZEROBuffer():TObject(),
40 // default constructor
43 //_____________________________________________________________________________
44 AliVZEROBuffer::AliVZEROBuffer(const char* fileName):TObject(),
50 f = new AliFstream(fileName);
51 // fout=new TFile(fileName,"recreate");
52 // tree=new TTree("tree","Values");
53 AliRawDataHeader header;
54 f->WriteBuffer((char*)(&header), sizeof(header));
58 //_____________________________________________________________________________
59 AliVZEROBuffer::~AliVZEROBuffer(){
60 // Destructor, it closes the IO stream
61 AliRawDataHeader header;
62 header.fSize = f->Tellp();
63 header.SetAttribute(0); // valid data
65 f->WriteBuffer((char*)(&header), sizeof(header));
71 //_____________________________________________________________________________
72 AliVZEROBuffer::AliVZEROBuffer(const AliVZEROBuffer &source):TObject(source),
79 this->fVerbose=source.fVerbose;
83 //_____________________________________________________________________________
84 AliVZEROBuffer& AliVZEROBuffer::operator=(const AliVZEROBuffer &source)
88 this->fVerbose=source.fVerbose;
92 //_____________________________________________________________________________
93 void AliVZEROBuffer::WriteBinary(Int_t cell,Int_t ADC, Int_t Time){
94 // It writes VZERO digits as a raw data file.
95 // Being called by AliVZERODDL.C
109 f->WriteBuffer((char*)(&data),sizeof(data));