Geant4  10.00.p01
CCalHit.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
27 // File: CCalHit.h
28 // Description: Hit class for Calorimeters (Ecal, Hcal, ...)
29 //
30 // One Hit object should be created
31 // -for each new particle entering the calorimeter
32 // -for each detector unit (= cristal or fiber or scintillator layer)
33 // -for each nanosecond of the shower development
34 //
35 // This implies that all hit objects created for a given shower
36 // have the same value for
37 // - Entry (= local coordinates of the entrance point of the particle
38 // in the unit where the shower starts)
39 // - the TrackID (= Identification number of the incident particle)
40 // - the IncidentEnergy (= energy of that particle)
41 //
43 
44 #ifndef CCalHit_h
45 #define CCalHit_h 1
46 
47 #include <iostream>
48 #include "CLHEP/Vector/ThreeVector.h"
49 #include "globals.hh"
50 
51 
52 class CCalHit {
53 
54  friend std::ostream& operator<< (std::ostream&, const CCalHit&);
55 
56 public:
57 
58  CCalHit();
59  ~CCalHit();
60  CCalHit(const CCalHit &right);
61  const CCalHit& operator=(const CCalHit &right);
62  int operator==(const CCalHit &){return 0;}
63 
64  void print();
65 
66 public:
67 
68  CLHEP::Hep3Vector getEntry() const;
69  void setEntry(CLHEP::Hep3Vector xyz);
70 
71  double getIncidentEnergy() const;
72  void setIncidentEnergy (double e);
73 
74  int getTrackID() const;
75  void setTrackID (int i);
76 
77  unsigned int getUnitID() const;
78  void setUnitID (unsigned int i);
79 
80  double getTimeSlice() const;
81  void setTimeSlice(double d);
82  int getTimeSliceID() const;
83 
84  double getEnergyDeposit() const;
85  void setEnergyDeposit(const double e);
86  void addEnergyDeposit(const CCalHit& aHit);
87  void addEnergyDeposit(const double e);
88 
89 private:
90 
91  CLHEP::Hep3Vector entry; // Entry point
92  double theIncidentEnergy; // Energy of the primary particle
93  int theTrackID; // Identification number of the primary particle
94  unsigned int theUnitID; // Calorimeter Unit Number
95  double theTimeSlice; // Time Slice Identification
96  double theEnergyDeposit; // Cumulated Energy deposit
97 
98 };
99 
100 #endif
unsigned int theUnitID
Definition: CCalHit.hh:94
double theTimeSlice
Definition: CCalHit.hh:95
double getIncidentEnergy() const
Definition: CCalHit.cc:68
void setIncidentEnergy(double e)
Definition: CCalHit.cc:69
double getEnergyDeposit() const
Definition: CCalHit.cc:86
void setEntry(CLHEP::Hep3Vector xyz)
Definition: CCalHit.cc:66
int operator==(const CCalHit &)
Definition: CCalHit.hh:62
friend std::ostream & operator<<(std::ostream &, const CCalHit &)
Definition: CCalHit.cc:104
void setTrackID(int i)
Definition: CCalHit.cc:72
void print()
Definition: CCalHit.cc:99
int getTrackID() const
Definition: CCalHit.cc:71
double getTimeSlice() const
Definition: CCalHit.cc:77
void setTimeSlice(double d)
Definition: CCalHit.cc:78
void setEnergyDeposit(const double e)
Definition: CCalHit.cc:82
CLHEP::Hep3Vector getEntry() const
Definition: CCalHit.cc:65
~CCalHit()
Definition: CCalHit.cc:41
int theTrackID
Definition: CCalHit.hh:93
unsigned int getUnitID() const
Definition: CCalHit.cc:74
double theEnergyDeposit
Definition: CCalHit.hh:96
void setUnitID(unsigned int i)
Definition: CCalHit.cc:75
void addEnergyDeposit(const CCalHit &aHit)
Definition: CCalHit.cc:90
double theIncidentEnergy
Definition: CCalHit.hh:92
CLHEP::Hep3Vector entry
Definition: CCalHit.hh:91
int getTimeSliceID() const
Definition: CCalHit.cc:79
CCalHit()
Definition: CCalHit.cc:35
const CCalHit & operator=(const CCalHit &right)
Definition: CCalHit.cc:54