FairRoot/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 
31 
36 class PndEmcXtal:public TObject
37 {
38 
39 public:
40 
41  // Constructors
42  PndEmcXtal();
43  PndEmcXtal( const PndEmcTwoCoordIndex *id, const TGeoTrap &trap, const TVector3 &pos, const TGeoRotation &rot);
44 
45  // Destructor
46  virtual ~PndEmcXtal();
47 
48  // Operators
49  virtual bool operator==( const PndEmcXtal& compare ) const;
50  virtual bool operator<( const PndEmcXtal & compare) const;
51  // Accessors (const)
52  const PndEmcTwoCoordIndex* myIndex() const;
53  const TVector3& centre() const;
54  const TVector3& frontCentre() const;
55  const TVector3& normalToFrontFace() const ;
56  const TVector3& axisVector() const;
57  const TGeoTrap& geometry() const;
58  const TGeoRotation& rotation() const;
59 
60  double npAngle() const;
61 
62 private:
63 
65  double fLength; // length of the crystal
66  const TGeoTrap fTrap;
67  const TGeoRotation fRotation;
68  TVector3 fCentre;
69  TVector3 fFrontCentre;
71  TVector3 fAxis;
72 
73  PndEmcXtal(const PndEmcXtal& L);
74  PndEmcXtal& operator= (const PndEmcXtal&) {return *this;}
75 
76  ClassDef(PndEmcXtal,1)
77 };
78 
79 #endif // PNDEMCXTAL_HH
TVector3 pos
TVector3 fAxis
Definition: PndEmcXtal.h:71
const TGeoTrap & geometry() const
Definition: PndEmcXtal.cxx:163
TVector3 fCentre
Definition: PndEmcXtal.h:68
const PndEmcTwoCoordIndex * myIndex() const
Definition: PndEmcXtal.cxx:133
PndEmcXtal & operator=(const PndEmcXtal &)
Definition: PndEmcXtal.h:74
const TVector3 & frontCentre() const
Definition: PndEmcXtal.cxx:145
represents coordinates of one crystal
Definition: PndEmcXtal.h:36
stores crystal index coordinates (x,y) or (theta,phi)
const PndEmcTwoCoordIndex * fTCIIndex
Definition: PndEmcXtal.h:64
double fLength
Definition: PndEmcXtal.h:65
virtual bool operator<(const PndEmcXtal &compare) const
Definition: PndEmcXtal.cxx:122
const TVector3 & axisVector() const
Definition: PndEmcXtal.cxx:157
double npAngle() const
Definition: PndEmcXtal.cxx:175
const TVector3 & normalToFrontFace() const
Definition: PndEmcXtal.cxx:151
const TGeoTrap fTrap
Definition: PndEmcXtal.h:66
virtual ~PndEmcXtal()
Definition: PndEmcXtal.cxx:102
const TGeoRotation & rotation() const
Definition: PndEmcXtal.cxx:169
TVector3 fNormalToFrontFace
Definition: PndEmcXtal.h:70
TGeoRotation rot
const TVector3 & centre() const
Definition: PndEmcXtal.cxx:139
TVector3 fFrontCentre
Definition: PndEmcXtal.h:69
const TGeoRotation fRotation
Definition: PndEmcXtal.h:67
virtual bool operator==(const PndEmcXtal &compare) const
Definition: PndEmcXtal.cxx:112