PandaRoot
PndMvdNoiseProducer.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 // ----- PndMvdNoiseProducer header file -----
15 // ----- Created 01.07.08 by R.Kliemt -----
16 // -------------------------------------------------------------------------
17 
25 #ifndef PNDMVDNOISEPRODUCER_H
26 #define PNDMVDNOISEPRODUCER_H
27 
28 #include <PndPersistencyTask.h>
29 #include "FairMCEventHeader.h"
30 
31 #include <vector>
32 
33 #include "TRandom.h"
34 //#include "PndMvdGeoPar.h"
35 #include "PndGeoHandling.h"
36 #include "PndSdsStripDigiPar.h"
37 #include "PndSdsPixelDigiPar.h"
38 #include "PndSdsTotDigiPar.h"
39 #include "PndSdsChargeConversion.h"
42 #include "PndSdsDigiStrip.h"
43 #include "PndSdsFE.h"
44 #include "TString.h"
45 
46 class TClonesArray;
47 
49  public:
52 
54  virtual ~PndMvdNoiseProducer();
55 
56  PndMvdNoiseProducer(const PndMvdNoiseProducer &) = delete;
58 
60  virtual void SetParContainers();
61  virtual InitStatus Init();
62 
64  virtual void Exec(Option_t *opt);
65  virtual void FinishEvent();
66 
67  Double_t CalcDistFraction(Double_t spread, Double_t threshold);
68  // Int_t CalcChanWhite(Int_t chanleft, Double_t frac);
69  Int_t CalcChargeAboveThreshold(Double_t spread, Double_t threshold);
70  Double_t CalcReadoutCycles(Double_t clock);
71  void AddDigiStrip(Int_t &iStrip, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t chan, Double_t charge);
72  void AddDigiPixel(Int_t &noisies, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t col, Int_t row, Double_t charge);
73 
74  void FillSensorLists();
75 
76  void RunTimeBased() { fTimeOrderedDigi = kTRUE; }
77 
78  protected:
80 
81  TString fBranchName;
83  TClonesArray *fDigiStripArray;
84  TClonesArray *fDigiPixelArray;
85 
88 
93 
97 
99  FairMCEventHeader *fMCEventheader;
100 
101  std::vector<Int_t> fPixelIds2;
102  std::vector<Int_t> fPixelIds4;
103  std::vector<Int_t> fPixelIds5;
104  std::vector<Int_t> fPixelIds6;
105  std::vector<Int_t> fStripRectLIds;
106  std::vector<Int_t> fStripRectSIds;
107  std::vector<Int_t> fStripTrapIds;
108 
113 
115  Int_t fThreshold;
116  Double_t fPreviousTime;
117 
118  // void Register();
119 
120  // void Reset();
121 
122  // void ProduceHits();
123 
125 };
126 
127 #endif
std::vector< Int_t > fPixelIds4
std::vector< Int_t > fPixelIds5
PndSdsTotDigiPar * fTotDigiParRect
PndSdsTotDigiPar * fTotDigiParPix
std::vector< Int_t > fPixelIds2
virtual void FinishEvent()
std::vector< Int_t > fStripRectSIds
void AddDigiPixel(Int_t &noisies, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t col, Int_t row, Double_t charge)
virtual void SetParContainers()
virtual InitStatus Init()
PndSdsChargeConversion * fStripTrapChargeConv
std::vector< Int_t > fPixelIds6
Charge Digitization Parameter Class for SDS.
PndSdsDigiPixelWriteoutBuffer * fDigiPixelBuffer
Bool_t fTimeOrderedDigi
parameter to switch to time ordered simulation
PndSdsChargeConversion * fStripRectChargeConv
virtual void Exec(Option_t *opt)
Class to access the naming information of the MVD.
void AddDigiStrip(Int_t &iStrip, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t chan, Double_t charge)
TClonesArray * fDigiStripArray
PndSdsStripDigiPar * fDigiParTrap
Double_t CalcReadoutCycles(Double_t clock)
std::vector< Int_t > fStripRectLIds
PndMvdNoiseProducer & operator=(const PndMvdNoiseProducer &)=delete
Digitization Parameter Class for MVD-Strip part.
PndSdsDigiStripWriteoutBuffer * fDigiStripBuffer
PndSdsStripDigiPar * fDigiParRect
PndSdsChargeConversion * fPixChargeConv
TClonesArray * fDigiPixelArray
PndSdsPixelDigiPar * fDigiParPix
std::vector< Int_t > fStripTrapIds
PndSdsChargeConversion * fCurrentChargeConv
PndSdsTotDigiPar * fTotDigiParTrap
PndGeoHandling * fGeoH
FairMCEventHeader * fMCEventheader
Geometry name handling.
virtual ~PndMvdNoiseProducer()
ClassDef(PndMvdNoiseProducer, 1)
Double_t CalcDistFraction(Double_t spread, Double_t threshold)
Int_t CalcChargeAboveThreshold(Double_t spread, Double_t threshold)
Digitization Parameter Class for SDS-Pixel part.