Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
CaloTowerBuilder.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file CaloTowerBuilder.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef CALOTOWERBUILDER_H
4
#define CALOTOWERBUILDER_H
5
6
#include "
CaloWaveformProcessing.h
"
7
#include "
CaloTowerDefs.h
"
8
9
#include <
fun4all/SubsysReco.h
>
10
11
#include <limits>
12
#include <string>
13
14
class
CaloWaveformProcessing
;
15
class
PHCompositeNode
;
16
class
TowerInfoContainer
;
17
class
TowerInfoContainerv3
;
18
19
20
class
CaloTowerBuilder
:
public
SubsysReco
21
{
22
public
:
23
explicit
CaloTowerBuilder
(
const
std::string
&
name
=
"CaloTowerBuilder"
);
24
~CaloTowerBuilder
()
override
;
25
26
int
InitRun
(
PHCompositeNode
*topNode)
override
;
27
int
process_event
(
PHCompositeNode
*topNode)
override
;
28
void
CreateNodeTree
(
PHCompositeNode
*topNode);
29
30
void
set_detector_type
(
CaloTowerDefs::DetectorSystem
dettype)
31
{
32
m_dettype
= dettype;
33
return
;
34
}
35
36
void
set_builder_type
(
CaloTowerDefs::BuilderType
buildertype)
37
{
38
m_buildertype
= buildertype;
39
return
;
40
}
41
42
void
set_nsamples
(
int
_nsamples)
43
{
44
m_nsamples
= _nsamples;
45
return
;
46
}
47
void
set_dataflag
(
bool
flag)
48
{
49
m_isdata
= flag;
50
return
;
51
}
52
53
void
set_processing_type
(
CaloWaveformProcessing::process
processingtype)
54
{
55
_processingtype
= processingtype;
56
}
57
58
void
set_softwarezerosuppression
(
bool
usezerosuppression,
int
softwarezerosuppression)
59
{
60
_nsoftwarezerosuppression
= softwarezerosuppression;
61
_bdosoftwarezerosuppression
= usezerosuppression;
62
}
63
64
void
set_outputNodePrefix
(
const
std::string
&
name
)
65
{
66
m_outputNodePrefix
=
name
;
67
return
;
68
}
69
70
private
:
71
int
process_sim
();
72
CaloWaveformProcessing
*
WaveformProcessing
{
nullptr
};
73
TowerInfoContainer
*
m_CaloInfoContainer
{
nullptr
};
74
TowerInfoContainer
*
m_CalowaveformContainer
{
nullptr
};
//waveform from simulation
75
bool
m_isdata
{
true
};
76
bool
_bdosoftwarezerosuppression
{
false
};
77
int
m_packet_low
{
std::numeric_limits<int>::min
()};
78
int
m_packet_high
{
std::numeric_limits<int>::min
()};
79
int
m_nsamples
{16};
80
int
m_nchannels
{192};
81
int
m_nzerosuppsamples
{2};
82
int
_nsoftwarezerosuppression
{40};
83
CaloTowerDefs::DetectorSystem
m_dettype
{
CaloTowerDefs::CEMC
};
84
CaloTowerDefs::BuilderType
m_buildertype
{
CaloTowerDefs::kPRDFTowerv1
};
85
CaloWaveformProcessing::process
_processingtype
{
CaloWaveformProcessing::NONE
};
86
std::string
m_detector
{
"CEMC"
};
87
std::string
m_inputNodePrefix
{
"WAVEFORM_"
};
88
std::string
m_outputNodePrefix
{
"TOWERS_"
};
89
std::string
TowerNodeName
;
90
};
91
92
#endif // CALOTOWERBUILDER_H
coresoftware
blob
master
offline
packages
CaloReco
CaloTowerBuilder.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:05
using
1.8.2 with
sPHENIX GitHub integration