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
ClusHitsVerbose.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file ClusHitsVerbose.h
1
#ifndef CLUSHITSVERBOSE__H
2
#define CLUSHITSVERBOSE__H
3
4
#include "
TrkrDefs.h
"
5
6
#include <
phool/PHObject.h
>
7
8
#include <map>
9
#include <vector>
10
#include <array>
11
12
class
ClusHitsVerbose
:
public
PHObject
13
{
14
public
:
15
using
BinData
= std::pair<int,int>;
// index + energy for a given bin (MVTX, INTT, or TPC)
16
using
Vector
= std::vector<BinData>;
// listing in phi and z (will need two of them)
17
using
Map
= std::map<TrkrDefs::cluskey, std::array<Vector,4>>;
18
// ^ what is stored:: first: Phi data, Z data, cut Phi data, cut Z data */
19
void
Reset
()
override
{}
20
21
virtual
bool
hasClusKey
(
TrkrDefs::cluskey
)
const
{
return
false
; };
22
virtual
Vector
&
phiBins
(
TrkrDefs::cluskey
);
23
virtual
Vector
&
zBins
(
TrkrDefs::cluskey
);
24
virtual
Vector
&
phiCutBins
(
TrkrDefs::cluskey
);
25
virtual
Vector
&
zCutBins
(
TrkrDefs::cluskey
);
26
virtual
Map
&
getMap
();
27
28
// convenience classes;
29
// ROOT's default library has vector<vector<int>> but not vec<vec<pair<int,int>>>
30
using
VecInt
= std::vector<int>;
31
using
PairVector
= std::pair<VecInt,VecInt>;
//
32
virtual
PairVector
phiBins_pvecIE
(
TrkrDefs::cluskey
);
// IE for integer-energy
33
virtual
PairVector
phiCutBins_pvecIE
(
TrkrDefs::cluskey
);
34
virtual
PairVector
zBins_pvecIE
(
TrkrDefs::cluskey
);
35
virtual
PairVector
zCutBins_pvecIE
(
TrkrDefs::cluskey
);
36
virtual
void
addPhiHit
(
int
,
int
) {
return
;}
37
virtual
void
addZHit
(
int
,
int
) {
return
;}
38
virtual
void
addPhiCutHit
(
int
,
int
) {
return
;}
39
virtual
void
addZCutHit
(
int
,
int
) {
return
;}
40
virtual
void
push_hits
(
TrkrDefs::cluskey
) {
return
;}
41
42
// PHObject virtual overload
43
void
identify
(std::ostream&
os
= std::cout)
const override
44
{
45
os
<<
"ClusHitsVerbose base class"
<< std::endl;
46
};
47
48
protected
:
49
ClusHitsVerbose
() =
default
;
50
ClassDefOverride(
ClusHitsVerbose
, 1)
51
};
52
53
#endif // G4TRACKING_CLUSHITSVERBOSE_H
coresoftware
blob
master
offline
packages
trackbase
ClusHitsVerbose.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:08
using
1.8.2 with
sPHENIX GitHub integration