FairRoot/PandaRoot
PndEmcHitProducer.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndEmcHitProducer header file -----
3 // ----- Created 14/08/06 by S.Spataro -----
4 // -------------------------------------------------------------------------
5 #ifndef PNDEMCHITPRODUCER_H
6 #define PNDEMCHITPRODUCER_H
7 
8 #include <PndPersistencyTask.h>
9 #include <map>
10 #include <string>
11 #include <limits>
12 
13 #include "TH1F.h"
14 #include "TFile.h"
15 #include "TVector3.h"
16 
17 #include "PndEmcHit.h"
18 #include "PndEmcStructure.h"
19 #include "PndEmcMapper.h"
20 
21 
22 class TClonesArray;
23 class TObjectArray;
24 
25 class PndEmcDigiPar;
26 class PndEmcGeoPar;
28 
29 using std::cout;
30 using std::endl;
31 using std::map;
32 
38 {
39 
40  public:
41  typedef std::map<Int_t, Float_t> mapper;
42 
45 
47 
50 
51 
53  virtual InitStatus Init();
54 
55 
57  virtual void Exec(Option_t* opt);
58 
59  PndEmcHit* AddHit(Int_t trackID, Int_t detID, Float_t energy, Float_t time,std::vector <Int_t> &mctruth, FairMultiLinkedData entering, FairMultiLinkedData exiting);
60 
61  //PndEmcHit* AddHit(Int_t trackID, Int_t detID, Float_t energy, Float_t time,std::vector<PndEmcPoint*> pointList);
62  // not implemented
63  //void CreateStructure();
64 
65  void SetStorageOfData(Bool_t val); // Method to specify whether hits are stored or not.
67  void SetDayOne(bool d=true){fDayOne=d;};
68 
69  void FinishTask();
70  private:
74  TClonesArray* fPointArray;
75  TClonesArray* fMCTrackArray;
76 
78  TClonesArray* fHitArray;
79  //TClonesArray* fMcTrackArray;
80 
81  TObjArray *fVolumeArray;
82 
84  Int_t fMapVersion;
86 
90 
93 
97 
99  virtual void SetParContainers();
100 
101  Bool_t fStoreHits; // Flag which specify whether hits are stored or not
102 
103  void cleansortmclist( std::vector <Int_t> &newlist,TClonesArray* mcTrackArray);
104 
107 
109 
110  map<Int_t, Float_t> fTrackEnergy;
111  map<Int_t, Float_t> fTrackTime; //time of first point
112  map<Int_t, std::vector <Int_t> > fTrackMcTruth; //McTruth
113  map<Int_t, std::vector <Int_t> > fPointMatch; //DetId , PointIds with same DetId
114  map<Int_t, FairMultiLinkedData> fTrackEntering; //DetId, link to tracks entering same DetId
115  map<Int_t, FairMultiLinkedData> fTrackExiting; //DetId, link to track exiting same DetId
116 
117  bool fDayOne;
118  bool AcceptDayOne(PndEmcPoint* p);
119 
120 };
121 #endif
represents a mc hit in an emc crystal
Definition: PndEmcPoint.h:19
Double_t p
Definition: anasim.C:58
void SetNonuniformityFile(const char *filename)
TObjArray * d
PndEmcDigiPar * fDigiPar
PndTransMap * map
Definition: sim_emc_apd.C:99
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
map< Int_t, FairMultiLinkedData > fTrackExiting
PndEmcStructure * fEmcStr
creates PndEmcHits from PndEmcPoints
TClonesArray * fMCTrackArray
Emc geometry mapper.
Definition: PndEmcMapper.h:22
TClonesArray * fHitArray
map< Int_t, Float_t > fTrackEnergy
geometry helper class
void SetStorageOfData(Bool_t val)
virtual void SetParContainers()
virtual void Exec(Option_t *opt)
TObjArray * fVolumeArray
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:12
map< Int_t, FairMultiLinkedData > fTrackEntering
PndEmcHitProducer & operator=(const PndEmcHitProducer &)
void cleansortmclist(std::vector< Int_t > &newlist, TClonesArray *mcTrackArray)
represents the deposited energy of one emc crystal from simulation
Definition: PndEmcHit.h:26
bool AcceptDayOne(PndEmcPoint *p)
map< Int_t, std::vector< Int_t > > fTrackMcTruth
TClonesArray * fPointArray
virtual InitStatus Init()
PndEmcHit * AddHit(Int_t trackID, Int_t detID, Float_t energy, Float_t time, std::vector< Int_t > &mctruth, FairMultiLinkedData entering, FairMultiLinkedData exiting)
ClassDef(PndEmcHitProducer, 1)
PndEmcDigiNonuniformityPar * fNonuniformityPar
PndEmcGeoPar * fGeoPar
map< Int_t, Float_t > fTrackTime
map< Int_t, std::vector< Int_t > > fPointMatch
std::map< Int_t, Float_t > mapper
PndEmcMapper * fMapper
Double_t energy
Definition: plot_dirc.C:15
const string filename
void SetDayOne(bool d=true)