PandaRoot
PndEmcClusterMoments.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 // File and Version Information:
15 //
16 // Description:
17 // Class PndEmcClusterMoments.
18 //
19 // Environment:
20 // Software developed for the BaBar Detector at the SLAC B-Factory.
21 //
22 // Author List:
23 // Stephen J. Gowdy Originator
24 // Phil Strother Originator
25 //
26 // Copyright Information:
27 // Copyright (C) 1998 University of Edinburgh
28 //
29 // Dima Melnichuk, adaption for pandaroot
30 //------------------------------------------------------------------------
31 //#pragma once
32 #ifndef PNDEMCCLUSTERMOMENTS_H
33 #define PNDEMCCLUSTERMOMENTS_H
34 
36 #include "TObject.h"
37 #include <iostream>
38 
39 class TVector3;
41 class PndEmcDigi;
42 
44 
45  public:
46  // Constructors
47  PndEmcClusterMoments(const PndEmcCluster &cluster, const TClonesArray *digiArray);
49 
50  // Destructor
51  virtual ~PndEmcClusterMoments();
52 
53  // Selectors (const)
54 
55  // Second moment of energy about centroid
56  virtual double SecondMoment() const;
57  virtual double SecondMomentTP() const;
58  // First moment wght energy and theta
59  virtual double Theta1() const;
60  // First moment wght energy and phi
61  virtual double Phi1() const;
62  // Second moment wght energy and theta
63  virtual double Theta2() const;
64  // Second moment wght energy and phi
65  virtual double Phi2() const;
66  // First moment wrt major axis
67  virtual double Major1() const;
68  // Second moment wrt major axis
69  virtual double Major2() const;
70  // First moment wrt minor axis
71  virtual double Minor1() const;
72  // Second moment wrt minor axis
73  virtual double Minor2() const;
74  // First moment of energy about centre
75  virtual TVector3 Centre1() const;
76  // Second moment of energy about centre
77  virtual TVector3 Centre2() const;
78 
79  // Printing
80  virtual void Print(const Option_t *opt = "") const;
81 
82  private:
84  PndEmcClusterMoments &operator=(const PndEmcClusterMoments &other);
85 
86  ClassDef(PndEmcClusterMoments, 1)
87 };
88 
89 #endif // PNDEMCCLUSTERMOMENTS_H
virtual double SecondMomentTP() const
virtual double Phi1() const
virtual double Major2() const
stores crystal index coordinates (x,y) or (theta,phi)
virtual TVector3 Centre2() const
virtual double Minor1() const
virtual double Phi2() const
virtual void Print(const Option_t *opt="") const
virtual double SecondMoment() const
virtual double Minor2() const
virtual double Theta2() const
virtual double Major1() const
virtual ~PndEmcClusterMoments()
virtual double Theta1() const
virtual TVector3 Centre1() const