PandaRoot
BSEmcXtal.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 // $Id: $
16 //
17 // Description:
18 // BSEmcXtal Class -
19 //
20 // Software developed for the BaBar Detector at the SLAC B-Factory.
21 // Adapted for the PANDA experiment at GSI
22 //
23 // Author List:
24 // Gautier Hamel de Monchenault - CEN Saclay & Lawrence Berkeley Lab
25 // Stephen J. Gowdy University of Edinburgh
26 // Dima Melnichuk - adaption for PANDA
27 //
28 // Copyright Information:
29 // Copyright (C) 1996 Lawrence Berkeley Laboratory
30 // Copyright (C) 1996 CEA - Centre d'Etude de Saclay
31 //------------------------------------------------------------------------
32 #ifndef BSEMCXTAL_HH
33 #define BSEMCXTAL_HH
34 
35 #include "Rtypes.h"
36 #include "RtypesCore.h"
37 #include "TGeoArb8.h"
38 #include "TGeoMatrix.h"
39 #include "TVector3.h"
40 
41 #include "BSEmcGeoItem.h"
42 
43 class TBuffer;
44 class TClass;
45 class TMemberInspector;
46 
58 class BSEmcXtal : public BSEmcGeoItem {
59 
60  public:
61  // Constructors
62  BSEmcXtal();
63  BSEmcXtal(Int_t t_id, const TGeoTrap &t_trap, const TVector3 &t_pos, const TGeoRotation &t_rot);
64 
65  // Destructor
66  virtual ~BSEmcXtal();
67 
68  // Operators
69  virtual Bool_t operator==(const BSEmcXtal &t_compare) const;
70  virtual Bool_t operator<(const BSEmcXtal &t_compare) const;
71  // Accessors (const)
72  const TVector3 &GetCentre() const;
73  const TVector3 &GetFrontCentre() const;
74  const TVector3 &GetNormalToFrontFace() const;
75  const TVector3 &GetAxisVector() const;
76  const TGeoTrap &GetGeometry() const;
77  const TGeoRotation &GetRotation() const;
78 
79  Double_t GetNPAngle() const;
80 
81  private:
82  Double_t fLength{-1};
83  const TGeoTrap fTrap{};
84  const TGeoRotation fRotation{};
85  TVector3 fCentre{0, 0, 0};
86  TVector3 fFrontCentre{0, 0, 0};
87  TVector3 fNormalToFrontFace{0, 0, 0};
88  TVector3 fAxis{0, 0, 0};
89 
90  BSEmcXtal(const BSEmcXtal &t_other);
91  BSEmcXtal &operator=(const BSEmcXtal & /*unused*/) { return *this; }
92 
93  ClassDef(BSEmcXtal, 1)
94 };
95 
96 #endif /*BSEMCXTAL_HH*/
const TVector3 & GetCentre() const
represents coordinates of one crystal
Definition: BSEmcXtal.h:58
virtual ~BSEmcXtal()
const TGeoTrap & GetGeometry() const
Convenience object for neighbouring relations used by BSEmcRecursiveClustering.
Definition: BSEmcGeoItem.h:37
virtual Bool_t operator<(const BSEmcXtal &t_compare) const
const TVector3 & GetNormalToFrontFace() const
const TVector3 & GetAxisVector() const
const TVector3 & GetFrontCentre() const
const TGeoRotation & GetRotation() const
Double_t GetNPAngle() const
virtual Bool_t operator==(const BSEmcXtal &t_compare) const