PandaRoot
PndEmcWaveformWriteoutBuffer.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /*
14  * PndEmcWaveformWriteoutBuffer.h
15  */
16 
17 #ifndef PNDEMCWAVEFORMWRITEOUTBUFFER_H_
18 #define PNDEMCWAVEFORMWRITEOUTBUFFER_H_
19 
20 #include "FairWriteoutBuffer.h"
21 #include "PndEmcWaveform.h"
22 #include "TFile.h"
23 #include "TTree.h"
24 class FairTimeStamp;
25 
26 class PndEmcWaveformWriteoutBuffer : public FairWriteoutBuffer {
27 
28  public:
30  PndEmcWaveformWriteoutBuffer(TString branchName, TString folderName, Bool_t persistance);
31  void AddNewDataToTClonesArray(FairTimeStamp *);
32 
34 
35  virtual double FindTimeForData(FairTimeStamp *data);
36  virtual void FillDataMap(FairTimeStamp *data, double activeTime);
37  virtual void EraseDataFromDataMap(FairTimeStamp *data);
38 
39  virtual void SaveToTree(bool flag);
40  virtual void Write();
41  // virtual void FillDataToDeadTimeMap(FairTimeStamp* data, double activeTime);
42  virtual std::vector<std::pair<double, FairTimeStamp *>> Modify(std::pair<double, FairTimeStamp *> oldData, std::pair<double, FairTimeStamp *> newData);
43 
44  protected:
45  void WriteToFile(PndEmcWaveform *theWaveform);
46  std::map<PndEmcWaveform, double> fData_map;
47  // std::map<long, double> fData_map;
48 
50 
51  Bool_t fSaveToFile;
52  TFile *fWave;
53  TTree *tWave;
54  Int_t fMod;
55  Double_t fEnergy;
56  Double_t fPeak;
57  Int_t fXcor;
58  Int_t fYcor;
59  Int_t fIdx;
60  Int_t fDetID;
61  Double_t fDiffTime;
62  Double_t fOverlap;
63  Int_t fPileupCount;
64 };
65 
66 #endif /* PNDEMCWAVEFORMWRITEOUTBUFFER_H_ */
virtual double FindTimeForData(FairTimeStamp *data)
std::map< PndEmcWaveform, double > fData_map
virtual std::vector< std::pair< double, FairTimeStamp * > > Modify(std::pair< double, FairTimeStamp *> oldData, std::pair< double, FairTimeStamp *> newData)
void WriteToFile(PndEmcWaveform *theWaveform)
ClassDef(PndEmcWaveformWriteoutBuffer, 1)
void AddNewDataToTClonesArray(FairTimeStamp *)
represents a simulated waveform in an emc crystal
virtual void FillDataMap(FairTimeStamp *data, double activeTime)
virtual void EraseDataFromDataMap(FairTimeStamp *data)
virtual void SaveToTree(bool flag)