PandaRoot
PndEmcXtal.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------
2 // File and Version Information:
3 // $Id: $
4 //
5 // Description:
6 // PndEmcXtal Class -
7 //
8 // Software developed for the BaBar Detector at the SLAC B-Factory.
9 // Adapted for the PANDA experiment at GSI
10 //
11 // Author List:
12 // Gautier Hamel de Monchenault - CEN Saclay & Lawrence Berkeley Lab
13 // Stephen J. Gowdy University of Edinburgh
14 // Dima Melnichuk - adaption for PANDA
15 //
16 // Copyright Information:
17 // Copyright (C) 1996 Lawrence Berkeley Laboratory
18 // Copyright (C) 1996 CEA - Centre d'Etude de Saclay
19 //------------------------------------------------------------------------
20 //#pragma once
21 #ifndef PNDEMCXTAL_H
22 #define PNDEMCXTAL_H
23 
24 //#include <vector>
25 #include "TVector3.h"
26 #include "TGeoArb8.h"
27 #include "TGeoMatrix.h"
28 
30 
35 class PndEmcXtal : public TObject {
36 
37  public:
38  // Constructors
39  PndEmcXtal();
40  PndEmcXtal(const PndEmcTwoCoordIndex *id, const TGeoTrap &trap, const TVector3 &pos, const TGeoRotation &rot);
41 
42  // Destructor
43  virtual ~PndEmcXtal();
44 
45  // Operators
46  virtual bool operator==(const PndEmcXtal &compare) const;
47  virtual bool operator<(const PndEmcXtal &compare) const;
48  // Accessors (const)
49  const PndEmcTwoCoordIndex *myIndex() const;
50  const TVector3 &centre() const;
51  const TVector3 &frontCentre() const;
52  const TVector3 &normalToFrontFace() const;
53  const TVector3 &axisVector() const;
54  const TGeoTrap &geometry() const;
55  const TGeoRotation &rotation() const;
56 
57  double npAngle() const;
58 
59  private:
60  const PndEmcTwoCoordIndex *fTCIIndex;
61  double fLength; // length of the crystal
62  const TGeoTrap fTrap;
63  const TGeoRotation fRotation;
64  TVector3 fCentre;
65  TVector3 fFrontCentre;
66  TVector3 fNormalToFrontFace;
67  TVector3 fAxis;
68 
69  PndEmcXtal(const PndEmcXtal &L);
70  PndEmcXtal &operator=(const PndEmcXtal &) { return *this; }
71 
72  ClassDef(PndEmcXtal, 1)
73 };
74 
75 #endif // PNDEMCXTAL_HH
const TVector3 & normalToFrontFace() const
const TVector3 & axisVector() const
represents coordinates of one crystal
Definition: PndEmcXtal.h:35
stores crystal index coordinates (x,y) or (theta,phi)
const PndEmcTwoCoordIndex * myIndex() const
virtual bool operator<(const PndEmcXtal &compare) const
const TVector3 & frontCentre() const
const TGeoRotation & rotation() const
virtual ~PndEmcXtal()
const TVector3 & centre() const
double npAngle() const
virtual bool operator==(const PndEmcXtal &compare) const
const TGeoTrap & geometry() const