00001 #ifndef ICsIClusterList_H
00002 #define ICsIClusterList_H
00003
00004 #include <vector>
00005 #include "geometry/Point.h"
00006 #include "geometry/Vector.h"
00007 #include "GaudiKernel/DataObject.h"
00008
00009 extern const CLID& CLID_CalClusterList;
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 class ICsICluster
00026
00027 {
00028 protected:
00030 ICsICluster() {};
00031
00032 public:
00034 virtual ~ICsICluster() {};
00035
00036
00037
00038
00039
00040 virtual double energySum() const = 0;
00041 virtual double energyLeak() const = 0;
00042 virtual double energyCorrected() const = 0;
00043 virtual double getEneLayer(int i) const = 0;
00044 virtual const Vector& getPosLayer(int i) const = 0;
00045 virtual const std::vector<double>& getEneLayer() const = 0;
00046 virtual const std::vector<Vector>& getPosLayer() const = 0;
00047 virtual const std::vector<Vector>& getRmsLayer() const = 0;
00048 virtual double getRmsLong() const = 0;
00049 virtual double getRmsTrans() const = 0;
00050 virtual double getTransvOffset() const = 0;
00051
00052 virtual Point position() const = 0;
00053 virtual Vector direction() const = 0;
00054 virtual double getFitEnergy() const = 0;
00055 virtual double getProfChisq() const = 0;
00056 virtual double getCsiAlpha() const = 0;
00057 virtual double getCsiLambda() const = 0;
00058 virtual double getCsiStart() const = 0;
00059
00060 virtual void writeOut() const = 0;
00061
00062 };
00063
00064
00066
00079
00080 class ICsIClusterList : public DataObject
00081
00082 {
00083 protected:
00084 ICsIClusterList() {};
00085
00086 public:
00087 virtual ~ICsIClusterList() {};
00088
00089
00090 static const CLID& classID() {return CLID_CalClusterList;}
00091 virtual const CLID& clID() const {return classID();}
00092
00093
00094 virtual int num() const = 0;
00095 virtual ICsICluster* Cluster(int i) const = 0;
00096
00097 };
00098 #endif
00099
00100
00101
00102
00103
00104