SND@LHC Software
Loading...
Searching...
No Matches
hcalModuleMC.cxx
Go to the documentation of this file.
1
7#include "hcalModuleMC.h"
8
9#include <algorithm>
10#include <iostream>
11
12using std::cout;
13using std::endl;
14using std::map;
15using std::list;
16
17//-----------------------------------------------------------------------------
18hcalModuleMC::hcalModuleMC(Int_t number, Float_t x1, Float_t y1, Float_t x2, Float_t y2)
19 : hcalModule(number, x1, y1, x2, y2),
20 fTrackEnergy(),
21 fTrackEnergy2()
22{
23}
24
25//-----------------------------------------------------------------------------
26Float_t hcalModuleMC::GetTrackEnergy(Int_t num) const
27{
28 map<Int_t, Float_t>::const_iterator p=fTrackEnergy.find(num);
29 if (p==fTrackEnergy.end()) return 0; else return p->second;
30}
31
32//-----------------------------------------------------------------------------
33Float_t hcalModuleMC::GetTrackEnergy2(Int_t num) const
34{
35 map<Int_t, Float_t>::const_iterator p=fTrackEnergy2.find(num);
36 if (p==fTrackEnergy2.end()) return 0; else return p->second;
37}
38
39//-----------------------------------------------------------------------------
41{
43 fTrackEnergy.clear();
44 fTrackEnergy2.clear();
45}
46
47//-----------------------------------------------------------------------------
49{
50 Float_t energy=GetTrackEnergy(num);
51 list<hcalModule*> mdls; GetNeighborsList(mdls);
52 list<hcalModule*>::const_iterator p=mdls.begin();
53 for(;p!=mdls.end();++p)
54 energy+=((hcalModuleMC*)(*p))->GetTrackEnergy(num);
55 return energy;
56}
57
59
std::map< Int_t, Float_t > fTrackEnergy
Float_t GetTrackEnergy(Int_t num) const
std::map< Int_t, Float_t > fTrackEnergy2
Float_t GetTrackClusterEnergy(Int_t num)
hcalModuleMC(Int_t number, Float_t x1=0, Float_t y1=0, Float_t x2=0, Float_t y2=0)
Float_t GetTrackEnergy2(Int_t num) const
void GetNeighborsList(std::list< hcalModule * > &neib) const
Definition hcalModule.h:44
void ResetEnergyFast()
Definition hcalModule.h:92
ClassImp(ecalContFact) ecalContFact