PandaRoot
PndMQMvdPixelDigiProcessorBursts.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  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
15  * *
16  * This software is distributed under the terms of the *
17  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
18  * copied verbatim in the file "LICENSE" *
19  ********************************************************************************/
27 #ifndef PndMQMvdPixelDigiProcessorBursts_H_
28 #define PndMQMvdPixelDigiProcessorBursts_H_
29 
30 #include "FairMQDevice.h"
31 #include "FairMQLogger.h"
32 #include "FairParGenericSet.h"
33 #include "FairGeoParSet.h"
34 
35 #include "PndMQBurstProcessor.h"
36 #include "PndMQGapEventBuilder.h"
39 #include "PndMapSorter.h"
40 #include "PndGeoHandling.h"
41 
43 #include "PndSdsPixelDigiPar.h"
44 #include "PndSdsTotDigiPar.h"
45 #include "PndSensorNamePar.h"
46 
47 #include "PndSdsHit.h"
48 
49 #include "baseMQtools.h"
50 
51 #include "TMessage.h"
52 
53 #ifndef __CINT__
54 #include <boost/thread.hpp>
55 #include <boost/bind.hpp>
56 #include <boost/serialization/access.hpp>
57 #include <boost/archive/text_iarchive.hpp>
58 #include <boost/archive/binary_iarchive.hpp>
59 #include <boost/serialization/vector.hpp>
60 #include <boost/serialization/unique_ptr.hpp>
61 #include <boost/serialization/export.hpp>
62 #endif //__CINT__
63 
65 
66 using namespace std;
67 
69  public:
70  PndMQMvdPixelDigiProcessorBursts() : PndMQBurstProcessor(), fPixelMapping(0), fGeoHandler(0)
71  {
72  fGeoPar = new FairGeoParSet("FairGeoParSet");
73  fParCList = new TList();
74  fParCList->Add(fGeoPar);
75 
76  fDigiPar = new PndSdsPixelDigiPar("MVDPixelDigiPar");
77  fParCList->Add(fDigiPar);
78 
79  fTotPar = new PndSdsTotDigiPar("MVDPixelTotDigiPar");
80  fParCList->Add(fTotPar);
81 
82  fSensorPar = new PndSensorNamePar("PndSensorNamePar");
83  fParCList->Add(fSensorPar);
84  }
85 
87  {
88  if (fGeoPar != 0)
89  delete fGeoPar;
90  if (fDigiPar != 0)
91  delete fDigiPar;
92  if (fTotPar != 0)
93  delete fTotPar;
94  if (fSensorPar != 0)
95  delete fSensorPar;
96  if (fPixelMapping != 0)
97  delete fPixelMapping;
98  if (fGeoHandler != 0)
99  delete fGeoHandler;
100  }
101 
102  virtual void SetParameters();
103 
104  virtual void ProcessData();
105 
106  private:
107  FairGeoParSet *fGeoPar;
108  PndSdsPixelDigiPar *fDigiPar;
109  PndSdsTotDigiPar *fTotPar;
110  PndSensorNamePar *fSensorPar;
111 
112  PndMQGapEventBuilder fEventBuilder;
113  PndMapSorter fMapSorter;
114  PndMvdPixelClusterFinder fClusterFinder;
115 
116  PndMQMvdChargeWeightedPixelMapping *fPixelMapping;
117  PndGeoHandling *fGeoHandler;
118 };
119 
120 #endif /* PndMQMvdPixelDigiProcessorBursts_H_ */
BOOST_CLASS_EXPORT_GUID(PndSdsHit, "PndSdsHit")
STL namespace.
Charge Digitization Parameter Class for SDS.
Class to access the naming information of the MVD.
PndSdsChargedWeightedPixelMapping: Gets a vector of DigiHits and calculates the cluster center weight...
Unique match between SensorID and path in TGeoManager.
Digitization Parameter Class for SDS-Pixel part.