PandaRoot
PndEmcClusterProperties.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //----------------------------------------------------------------------
14 // Software developed for the BaBar Detector at the SLAC B-Factory.
15 // Adapted for the PANDA experiment at GSI
16 //
17 // Author List:
18 // Xiaorong Shi Lawrence Livermore National Lab
19 // Steve Playfer University of Edinburgh
20 // Stephen Gowdy University of Edinburgh
21 //
22 //-----------------------------------------------------------------------
23 //#pragma once
24 #ifndef PNDEMCCLUSTERPROPERTIES_H
25 #define PNDEMCCLUSTERPROPERTIES_H
26 
27 #include "TObject.h"
28 #include "PndEmcDataTypes.h"
30 #include "PndEmcCluster.h"
31 #include "TMatrixD.h"
32 #include <vector>
33 
34 class PndEmcDigi;
36 class TVector3;
37 
39 
40  public:
41  // Constructors
42  PndEmcClusterProperties(const PndEmcCluster &cluster, const TClonesArray *digiArray);
43 
44  // Destructor
45  virtual ~PndEmcClusterProperties();
46 
47  // Total Energy of Cluster
48  virtual Double_t Energy() const;
49 
50  // Position of the cluster
51  TVector3 Where(TString method, std::vector<Double_t> params);
52  // Position of the cluster - linear-logarithmic weighting
53  TVector3 LiloWhere(std::vector<Double_t> params);
54  // Position of the cluster - linear weighting
55  TVector3 LinearWhere();
56  // Centre of gravity centroid method/
57  TVector3 GravWhere();
58 
59  // Angle of major axis wrt phi
60  virtual Double_t Major_axis() const;
61 
62  virtual Double_t Mass() const; // Cluster mass
63 
64  ClassDef(PndEmcClusterProperties, 1)
65 };
66 
67 #endif // PNDEMCCLUSTERPROPERTIES_H
TVector3 Where(TString method, std::vector< Double_t > params)
stores crystal index coordinates (x,y) or (theta,phi)
PndEmcClusterProperties(const PndEmcCluster &cluster, const TClonesArray *digiArray)
virtual Double_t Mass() const
virtual Double_t Energy() const
virtual ~PndEmcClusterProperties()
TVector3 LiloWhere(std::vector< Double_t > params)
virtual Double_t Major_axis() const