Skip to content

Commit 031a3cd

Browse files
raymondEhlersshahor02
authored andcommitted
[EMCAL-651] Add const for cell indices in cluster
The indices aren't modified, so const is appropriate. Further, this makes the interface more consistent for converting clusters from the clusterizer into analysis clusters.
1 parent 031c785 commit 031a3cd

2 files changed

Lines changed: 24 additions & 24 deletions

File tree

‎Detectors/EMCAL/base/include/EMCALBase/ClusterFactory.h‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ class ClusterFactory
178178
/// \param clustersContainer cluster container
179179
/// \param inputsContainer cells/digits container
180180
/// \param cellsIndices for cells/digits indices
181-
ClusterFactory(gsl::span<const o2::emcal::Cluster> clustersContainer, gsl::span<const InputType> inputsContainer, gsl::span<int> cellsIndices);
181+
ClusterFactory(gsl::span<const o2::emcal::Cluster> clustersContainer, gsl::span<const InputType> inputsContainer, gsl::span<const int> cellsIndices);
182182

183183
///
184184
/// Copy constructor
@@ -225,17 +225,17 @@ class ClusterFactory
225225

226226
///
227227
/// Calculates the center of gravity in the local EMCAL-module coordinates
228-
void evalLocalPosition(gsl::span<int> inputsIndices, AnalysisCluster& cluster) const;
228+
void evalLocalPosition(gsl::span<const int> inputsIndices, AnalysisCluster& cluster) const;
229229

230230
///
231231
/// Calculates the center of gravity in the global ALICE coordinates
232-
void evalGlobalPosition(gsl::span<int> inputsIndices, AnalysisCluster& cluster) const;
232+
void evalGlobalPosition(gsl::span<const int> inputsIndices, AnalysisCluster& cluster) const;
233233

234234
void evalLocal2TrackingCSTransform() const;
235235

236236
///
237237
/// evaluates local position of clusters in SM
238-
void evalLocalPositionFit(Double_t deff, Double_t w0, Double_t phiSlope, gsl::span<int> inputsIndices, AnalysisCluster& cluster) const;
238+
void evalLocalPositionFit(Double_t deff, Double_t w0, Double_t phiSlope, gsl::span<const int> inputsIndices, AnalysisCluster& cluster) const;
239239

240240
///
241241
/// Applied for simulation data with threshold 3 adc
@@ -250,11 +250,11 @@ class ClusterFactory
250250
/// \return the index of the cells with max enegry
251251
/// \return the maximum energy
252252
/// \return the total energy of the cluster
253-
std::tuple<int, float, float> getMaximalEnergyIndex(gsl::span<int> inputsIndices) const;
253+
std::tuple<int, float, float> getMaximalEnergyIndex(gsl::span<const int> inputsIndices) const;
254254

255255
///
256256
/// Calculates the multiplicity of digits/cells with energy larger than level*energy
257-
int getMultiplicityAtLevel(float level, gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
257+
int getMultiplicityAtLevel(float level, gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
258258

259259
int getSuperModuleNumber() const { return mSuperModuleNumber; }
260260

@@ -287,7 +287,7 @@ class ClusterFactory
287287
mInputsContainer = cellContainer;
288288
}
289289

290-
void setCellsIndicesContainer(gsl::span<int> indicesContainer)
290+
void setCellsIndicesContainer(gsl::span<const int> indicesContainer)
291291
{
292292
mCellsIndices = indicesContainer;
293293
}
@@ -305,21 +305,21 @@ class ClusterFactory
305305
/// should be less than 2%
306306
/// Unfinished - Nov 15,2006
307307
/// Distance is calculate in (phi,eta) units
308-
void evalCoreEnergy(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
308+
void evalCoreEnergy(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
309309

310310
///
311311
/// Calculates the dispersion of the shower at the origin of the cluster
312312
/// in cell units
313-
void evalDispersion(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
313+
void evalDispersion(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
314314

315315
///
316316
/// Calculates the axis of the shower ellipsoid in eta and phi
317317
/// in cell units
318-
void evalElipsAxis(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
318+
void evalElipsAxis(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
319319

320320
///
321321
/// Time is set to the time of the digit with the maximum energy
322-
void evalTime(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
322+
void evalTime(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const;
323323

324324
///
325325
/// Converts Theta (Radians) to Eta (Radians)
@@ -344,9 +344,9 @@ class ClusterFactory
344344

345345
gsl::span<const o2::emcal::Cluster> mClustersContainer; ///< Container for all the clusters in the event
346346
gsl::span<const InputType> mInputsContainer; ///< Container for all the cells/digits in the event
347-
gsl::span<int> mCellsIndices; ///< Container for cells indices in the event
347+
gsl::span<const int> mCellsIndices; ///< Container for cells indices in the event
348348

349-
ClassDefNV(ClusterFactory, 1);
349+
ClassDefNV(ClusterFactory, 2);
350350
};
351351

352352
} // namespace emcal

‎Detectors/EMCAL/base/src/ClusterFactory.cxx‎

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
using namespace o2::emcal;
2626

2727
template <class InputType>
28-
ClusterFactory<InputType>::ClusterFactory(gsl::span<const o2::emcal::Cluster> clustersContainer, gsl::span<const InputType> inputsContainer, gsl::span<int> cellsIndices)
28+
ClusterFactory<InputType>::ClusterFactory(gsl::span<const o2::emcal::Cluster> clustersContainer, gsl::span<const InputType> inputsContainer, gsl::span<const int> cellsIndices)
2929
{
3030
setClustersContainer(clustersContainer);
3131
setCellsContainer(inputsContainer);
@@ -55,7 +55,7 @@ o2::emcal::AnalysisCluster ClusterFactory<InputType>::buildCluster(int clusterIn
5555
int firstCellIndex = mClustersContainer[clusterIndex].getCellIndexFirst();
5656
int nCells = mClustersContainer[clusterIndex].getNCells();
5757

58-
gsl::span<int> inputsIndices = gsl::span<int>(&mCellsIndices[firstCellIndex], nCells);
58+
gsl::span<const int> inputsIndices = gsl::span<const int>(&mCellsIndices[firstCellIndex], nCells);
5959

6060
// First calculate the index of input with maximum amplitude and get
6161
// the supermodule number where it sits.
@@ -107,7 +107,7 @@ o2::emcal::AnalysisCluster ClusterFactory<InputType>::buildCluster(int clusterIn
107107
/// in cell units
108108
//____________________________________________________________________________
109109
template <class InputType>
110-
void ClusterFactory<InputType>::evalDispersion(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const
110+
void ClusterFactory<InputType>::evalDispersion(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const
111111
{
112112
double d = 0., wtot = 0.;
113113
int nstat = 0;
@@ -180,7 +180,7 @@ void ClusterFactory<InputType>::evalDispersion(gsl::span<int> inputsIndices, Ana
180180
/// Calculates the center of gravity in the local EMCAL-module coordinates
181181
//____________________________________________________________________________
182182
template <class InputType>
183-
void ClusterFactory<InputType>::evalLocalPosition(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const
183+
void ClusterFactory<InputType>::evalLocalPosition(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const
184184
{
185185

186186
int nstat = 0;
@@ -249,7 +249,7 @@ void ClusterFactory<InputType>::evalLocalPosition(gsl::span<int> inputsIndices,
249249
/// Calculates the center of gravity in the global ALICE coordinates
250250
//____________________________________________________________________________
251251
template <class InputType>
252-
void ClusterFactory<InputType>::evalGlobalPosition(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const
252+
void ClusterFactory<InputType>::evalGlobalPosition(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const
253253
{
254254

255255
int i = 0, nstat = 0;
@@ -319,7 +319,7 @@ void ClusterFactory<InputType>::evalGlobalPosition(gsl::span<int> inputsIndices,
319319
//____________________________________________________________________________
320320
template <class InputType>
321321
void ClusterFactory<InputType>::evalLocalPositionFit(double deff, double mLogWeight,
322-
double phiSlope, gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const
322+
double phiSlope, gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const
323323
{
324324
int i = 0, nstat = 0;
325325
double clXYZ[3] = {0., 0., 0.}, clRmsXYZ[3] = {0., 0., 0.}, xyzi[3], wtot = 0., w = 0.;
@@ -416,7 +416,7 @@ void ClusterFactory<InputType>::getDeffW0(const double esum, double& deff, doubl
416416
/// Distance is calculate in (phi,eta) units
417417
//______________________________________________________________________________
418418
template <class InputType>
419-
void ClusterFactory<InputType>::evalCoreEnergy(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const
419+
void ClusterFactory<InputType>::evalCoreEnergy(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const
420420
{
421421

422422
float coreEnergy = 0.;
@@ -444,7 +444,7 @@ void ClusterFactory<InputType>::evalCoreEnergy(gsl::span<int> inputsIndices, Ana
444444
/// in cell units
445445
//____________________________________________________________________________
446446
template <class InputType>
447-
void ClusterFactory<InputType>::evalElipsAxis(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const
447+
void ClusterFactory<InputType>::evalElipsAxis(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const
448448
{
449449
TString gn(mGeomPtr->GetName());
450450

@@ -521,7 +521,7 @@ void ClusterFactory<InputType>::evalElipsAxis(gsl::span<int> inputsIndices, Anal
521521
/// Finds the maximum energy in the cluster and computes the Summed amplitude of digits/cells
522522
//____________________________________________________________________________
523523
template <class InputType>
524-
std::tuple<int, float, float> ClusterFactory<InputType>::getMaximalEnergyIndex(gsl::span<int> inputsIndices) const
524+
std::tuple<int, float, float> ClusterFactory<InputType>::getMaximalEnergyIndex(gsl::span<const int> inputsIndices) const
525525
{
526526

527527
float energy = 0.;
@@ -544,7 +544,7 @@ std::tuple<int, float, float> ClusterFactory<InputType>::getMaximalEnergyIndex(g
544544
/// Calculates the multiplicity of inputs with energy larger than H*energy
545545
//____________________________________________________________________________
546546
template <class InputType>
547-
int ClusterFactory<InputType>::getMultiplicityAtLevel(float H, gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const
547+
int ClusterFactory<InputType>::getMultiplicityAtLevel(float H, gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const
548548
{
549549
int multipl = 0;
550550
for (auto iInput : inputsIndices) {
@@ -559,7 +559,7 @@ int ClusterFactory<InputType>::getMultiplicityAtLevel(float H, gsl::span<int> in
559559
/// Time is set to the time of the input with the maximum energy
560560
//____________________________________________________________________________
561561
template <class InputType>
562-
void ClusterFactory<InputType>::evalTime(gsl::span<int> inputsIndices, AnalysisCluster& clusterAnalysis) const
562+
void ClusterFactory<InputType>::evalTime(gsl::span<const int> inputsIndices, AnalysisCluster& clusterAnalysis) const
563563
{
564564
float maxE = 0;
565565
unsigned short maxAt = 0;

0 commit comments

Comments
 (0)