FairRoot/PandaRoot
PndEmcApd.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndEmcApd header file -----
3 // ----- Created 07/04/08 by S.Spataro -----
4 // -------------------------------------------------------------------------
5 //#pragma once
6 #ifndef PNDEMCAPD_H
7 #define PNDEMCAPD_H
8 
9 
10 #include "TClonesArray.h"
11 #include "TVector3.h"
12 #include "TString.h"
13 #include "TLorentzVector.h"
14 #include "FairDetector.h"
15 
16 class TClonesArray;
17 class PndEmcApdPoint;
18 class FairVolume;
19 
20 class PndEmcApd : public FairDetector
21 {
22 
23  public:
24 
26  PndEmcApd();
27 
28 
33  PndEmcApd(const char* name, Bool_t active);
34 
35 
37  virtual ~PndEmcApd();
38 
39 
43  virtual void Initialize();
44 
45 
53  virtual Bool_t ProcessHits(FairVolume* vol = 0);
54 
55 
61  virtual void EndOfEvent();
62 
63 
64  virtual void BeginEvent();
69  virtual void Register();
70 
71 
73  virtual TClonesArray* GetCollection(Int_t iColl) const;
74 
75 
80  virtual void Print() const;
81 
82 
87  virtual void Reset();
88 
89 
97  virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2,
98  Int_t offset);
99 
100 
104  virtual void ConstructGeometry();
105 
106  // construct detector from .dat file
107  void ConstructASCIIGeometry();
108 
109  PndEmcApdPoint* AddHit(Int_t trackID, Int_t detID, Int_t evtID, TVector3 pos, TVector3 mom,
110  Double_t tof, Double_t length, Double_t eLoss,
111  Short_t mod, Short_t row, Short_t crys, Short_t copy, Short_t flag);
112 
113  private:
114 
115  Int_t fTrackID;
116  Int_t fVolumeID;
117  Int_t fEventID;
118  TLorentzVector fPos;
119  TLorentzVector fMom;
120  Double32_t fTime;
121  Double32_t fLength;
122  Double32_t fELoss;
123  Int_t fPosIndex;
124 
125  TClonesArray* fApdCollection;
126 
127  // reset all parameters
128  void ResetParameters();
129 
130  PndEmcApd(const PndEmcApd& L);
131  PndEmcApd& operator= (const PndEmcApd&) {return *this;}
132 
133  ClassDef(PndEmcApd,1)
134 
135 };
136 
137 
138 #endif
int row
Definition: anaLmdDigi.C:67
TVector3 pos
virtual void ConstructGeometry()
Definition: PndEmcApd.cxx:210
Int_t fTrackID
Definition: PndEmcApd.h:115
Int_t fEventID
volume id
Definition: PndEmcApd.h:117
virtual void Reset()
Definition: PndEmcApd.cxx:179
Double32_t fELoss
length
Definition: PndEmcApd.h:122
virtual void Register()
Definition: PndEmcApd.cxx:152
TLorentzVector fPos
event id
Definition: PndEmcApd.h:118
Int_t fPosIndex
energy loss
Definition: PndEmcApd.h:123
Double_t mom
Definition: plot_dirc.C:14
TVector3 offset(2, 0, 0)
TClonesArray * fApdCollection
Definition: PndEmcApd.h:125
virtual void EndOfEvent()
Definition: PndEmcApd.cxx:145
Double_t
PndEmcApd & operator=(const PndEmcApd &)
Definition: PndEmcApd.h:131
Int_t fVolumeID
track index
Definition: PndEmcApd.h:116
PndEmcApdPoint * AddHit(Int_t trackID, Int_t detID, Int_t evtID, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss, Short_t mod, Short_t row, Short_t crys, Short_t copy, Short_t flag)
Definition: PndEmcApd.cxx:299
virtual Bool_t ProcessHits(FairVolume *vol=0)
Definition: PndEmcApd.cxx:96
virtual void Initialize()
Definition: PndEmcApd.cxx:79
TString name
Double32_t fTime
momentum
Definition: PndEmcApd.h:120
void ResetParameters()
Hit collection.
Definition: PndEmcApd.cxx:311
void ConstructASCIIGeometry()
Definition: PndEmcApd.cxx:225
virtual void Print() const
Definition: PndEmcApd.cxx:166
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition: PndEmcApd.cxx:189
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition: PndEmcApd.cxx:158
virtual ~PndEmcApd()
Definition: PndEmcApd.cxx:67
TLorentzVector fMom
position
Definition: PndEmcApd.h:119
virtual void BeginEvent()
Definition: PndEmcApd.cxx:88
Double32_t fLength
time
Definition: PndEmcApd.h:121