Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
H
hcana
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
jlab
hallc
analyzer_software
hcana
Commits
0f160b34
Commit
0f160b34
authored
9 years ago
by
Vardan Tadevosyan
Browse files
Options
Downloads
Patches
Plain Diff
Move shower hit and cluster classes from THcShower.h header file into
THcShowerHitClass.h file.
parent
eec53d9e
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/THcShower.h
+1
-122
1 addition, 122 deletions
src/THcShower.h
src/THcShowerArray.h
+3
-0
3 additions, 0 deletions
src/THcShowerArray.h
src/THcShowerHitCluster.h
+125
-0
125 additions, 0 deletions
src/THcShowerHitCluster.h
with
129 additions
and
122 deletions
src/THcShower.h
+
1
−
122
View file @
0f160b34
...
@@ -12,130 +12,9 @@
...
@@ -12,130 +12,9 @@
#include
"THcHitList.h"
#include
"THcHitList.h"
#include
"THcShowerPlane.h"
#include
"THcShowerPlane.h"
#include
"THcShowerArray.h"
#include
"THcShowerArray.h"
#include
"THcShowerHitCluster.h"
#include
"TMath.h"
#include
"TMath.h"
// HMS calorimeter hits, version 2
#include
<set>
#include
<iterator>
#include
<iostream>
#include
<memory>
using
namespace
std
;
class
THcShowerHit
{
//HMS calorimeter hit class
private:
Int_t
fCol
,
fRow
;
//hit colomn and row
Double_t
fX
,
fZ
;
//hit X (vert.) and Z (along spect.axis) coordinates
Double_t
fE
;
//hit mean energy deposition
Double_t
fEpos
;
//hit energy deposition from positive PMT
Double_t
fEneg
;
//hit energy deposition from negative PMT
public:
THcShowerHit
()
{
//default constructor
fCol
=
fRow
=
0
;
fX
=
fZ
=
0.
;
fE
=
0.
;
fEpos
=
0.
;
fEneg
=
0.
;
}
THcShowerHit
(
Int_t
hRow
,
Int_t
hCol
,
Double_t
hX
,
Double_t
hZ
,
Double_t
hE
,
Double_t
hEpos
,
Double_t
hEneg
)
{
fRow
=
hRow
;
fCol
=
hCol
;
fX
=
hX
;
fZ
=
hZ
;
fE
=
hE
;
fEpos
=
hEpos
;
fEneg
=
hEneg
;
}
~
THcShowerHit
()
{
// cout << " hit destructed" << endl;
}
Int_t
hitColumn
()
{
return
fCol
;
}
Int_t
hitRow
()
{
return
fRow
;
}
Double_t
hitX
()
{
return
fX
;
}
Double_t
hitZ
()
{
return
fZ
;
}
Double_t
hitE
()
{
return
fE
;
}
Double_t
hitEpos
()
{
return
fEpos
;
}
Double_t
hitEneg
()
{
return
fEneg
;
}
// Decide if a hit is neighbouring the current hit.
// Two hits are neighbours if share a side or a corner,
// or in the same row but separated by no more than a block.
//
bool
isNeighbour
(
THcShowerHit
*
hit1
)
{
//Is hit1 neighbouring this hit?
Int_t
dRow
=
fRow
-
(
*
hit1
).
fRow
;
Int_t
dCol
=
fCol
-
(
*
hit1
).
fCol
;
return
(
TMath
::
Abs
(
dRow
)
<
2
&&
TMath
::
Abs
(
dCol
)
<
2
)
||
(
dRow
==
0
&&
TMath
::
Abs
(
dCol
)
<
3
);
}
//Print out hit information
//
void
show
()
{
cout
<<
"row="
<<
fRow
<<
" column="
<<
fCol
<<
" x="
<<
fX
<<
" z="
<<
fZ
<<
" E="
<<
fE
<<
" Epos="
<<
fEpos
<<
" Eneg="
<<
fEneg
<<
endl
;
}
// Define < operator in order to fill in set of hits in a sorted manner.
//
bool
operator
<
(
THcShowerHit
rhs
)
const
{
if
(
fCol
!=
rhs
.
fCol
)
return
fCol
<
rhs
.
fCol
;
else
return
fRow
<
rhs
.
fRow
;
}
};
//____________________________________________________________________________
// Container (collection) of hits and its iterator.
//
typedef
set
<
THcShowerHit
*>
THcShowerHitSet
;
typedef
THcShowerHitSet
::
iterator
THcShowerHitIt
;
typedef
THcShowerHitSet
THcShowerCluster
;
typedef
THcShowerCluster
::
iterator
THcShowerClusterIt
;
//______________________________________________________________________________
//Alias for container of clusters and for its iterator
//
typedef
vector
<
THcShowerCluster
*>
THcShowerClusterList
;
typedef
THcShowerClusterList
::
iterator
THcShowerClusterListIt
;
//______________________________________________________________________________
class
THcShower
:
public
THaNonTrackingDetector
,
public
THcHitList
{
class
THcShower
:
public
THaNonTrackingDetector
,
public
THcHitList
{
public:
public:
...
...
This diff is collapsed.
Click to expand it.
src/THcShowerArray.h
+
3
−
0
View file @
0f160b34
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
#include
"THaSubDetector.h"
#include
"THaSubDetector.h"
#include
"TClonesArray.h"
#include
"TClonesArray.h"
#include
"THcShowerHitCluster.h"
#include
<iostream>
#include
<iostream>
...
@@ -118,6 +119,8 @@ protected:
...
@@ -118,6 +119,8 @@ protected:
Double_t
*
fE
;
// [fNelem] energy depositions in the blocks.
Double_t
*
fE
;
// [fNelem] energy depositions in the blocks.
Double_t
fEarray
;
// Total Energy deposition in the array.
Double_t
fEarray
;
// Total Energy deposition in the array.
THcShowerClusterList
*
fClusterList
;
// List of hit clusters
virtual
Int_t
ReadDatabase
(
const
TDatime
&
date
);
virtual
Int_t
ReadDatabase
(
const
TDatime
&
date
);
virtual
Int_t
DefineVariables
(
EMode
mode
=
kDefine
);
virtual
Int_t
DefineVariables
(
EMode
mode
=
kDefine
);
ClassDef
(
THcShowerArray
,
0
);
// Fly;s Eye calorimeter array
ClassDef
(
THcShowerArray
,
0
);
// Fly;s Eye calorimeter array
...
...
This diff is collapsed.
Click to expand it.
src/THcShowerHitCluster.h
0 → 100644
+
125
−
0
View file @
0f160b34
#ifndef ROOT_THcShowerHitCluster
#define ROOT_THcShowerHitCluster
// HMS calorimeter hits, version 2
#include
<set>
#include
<iterator>
#include
<iostream>
#include
<memory>
using
namespace
std
;
class
THcShowerHit
{
//HMS calorimeter hit class
private:
Int_t
fCol
,
fRow
;
//hit colomn and row
Double_t
fX
,
fZ
;
//hit X (vert.) and Z (along spect.axis) coordinates
Double_t
fE
;
//hit mean energy deposition
Double_t
fEpos
;
//hit energy deposition from positive PMT
Double_t
fEneg
;
//hit energy deposition from negative PMT
public:
THcShowerHit
()
{
//default constructor
fCol
=
fRow
=
0
;
fX
=
fZ
=
0.
;
fE
=
0.
;
fEpos
=
0.
;
fEneg
=
0.
;
}
THcShowerHit
(
Int_t
hRow
,
Int_t
hCol
,
Double_t
hX
,
Double_t
hZ
,
Double_t
hE
,
Double_t
hEpos
,
Double_t
hEneg
)
{
fRow
=
hRow
;
fCol
=
hCol
;
fX
=
hX
;
fZ
=
hZ
;
fE
=
hE
;
fEpos
=
hEpos
;
fEneg
=
hEneg
;
}
~
THcShowerHit
()
{
// cout << " hit destructed" << endl;
}
Int_t
hitColumn
()
{
return
fCol
;
}
Int_t
hitRow
()
{
return
fRow
;
}
Double_t
hitX
()
{
return
fX
;
}
Double_t
hitZ
()
{
return
fZ
;
}
Double_t
hitE
()
{
return
fE
;
}
Double_t
hitEpos
()
{
return
fEpos
;
}
Double_t
hitEneg
()
{
return
fEneg
;
}
// Decide if a hit is neighbouring the current hit.
// Two hits are neighbours if share a side or a corner,
// or in the same row but separated by no more than a block.
//
bool
isNeighbour
(
THcShowerHit
*
hit1
)
{
//Is hit1 neighbouring this hit?
Int_t
dRow
=
fRow
-
(
*
hit1
).
fRow
;
Int_t
dCol
=
fCol
-
(
*
hit1
).
fCol
;
return
(
TMath
::
Abs
(
dRow
)
<
2
&&
TMath
::
Abs
(
dCol
)
<
2
)
||
(
dRow
==
0
&&
TMath
::
Abs
(
dCol
)
<
3
);
}
//Print out hit information
//
void
show
()
{
cout
<<
"row="
<<
fRow
<<
" column="
<<
fCol
<<
" x="
<<
fX
<<
" z="
<<
fZ
<<
" E="
<<
fE
<<
" Epos="
<<
fEpos
<<
" Eneg="
<<
fEneg
<<
endl
;
}
// Define < operator in order to fill in set of hits in a sorted manner.
//
bool
operator
<
(
THcShowerHit
rhs
)
const
{
if
(
fCol
!=
rhs
.
fCol
)
return
fCol
<
rhs
.
fCol
;
else
return
fRow
<
rhs
.
fRow
;
}
};
//____________________________________________________________________________
// Container (collection) of hits and its iterator.
//
typedef
set
<
THcShowerHit
*>
THcShowerHitSet
;
typedef
THcShowerHitSet
::
iterator
THcShowerHitIt
;
typedef
THcShowerHitSet
THcShowerCluster
;
typedef
THcShowerCluster
::
iterator
THcShowerClusterIt
;
//______________________________________________________________________________
//Alias for container of clusters and for its iterator
//
typedef
vector
<
THcShowerCluster
*>
THcShowerClusterList
;
typedef
THcShowerClusterList
::
iterator
THcShowerClusterListIt
;
//______________________________________________________________________________
#endif
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment