ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CCalHit.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CCalHit.hh
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>
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  G4bool operator==(const CCalHit &){return false;}
63 
64  void print();
65 
66 public:
67 
69  void setEntry(CLHEP::Hep3Vector xyz);
70 
73 
74  G4int getTrackID() const;
75  void setTrackID (G4int i);
76 
77  unsigned int getUnitID() const;
78  void setUnitID (unsigned int i);
79 
80  G4double getTimeSlice() const;
81  void setTimeSlice(G4double d);
82  G4int getTimeSliceID() const;
83 
84  G4double getEnergyDeposit() const;
85  void setEnergyDeposit(const G4double e);
86  void addEnergyDeposit(const CCalHit& aHit);
87  void addEnergyDeposit(const G4double e);
88 
89 private:
90 
91  CLHEP::Hep3Vector entry; // Entry point
92  G4double theIncidentEnergy; // Energy of the primary particle
93  G4int theTrackID; // Identification number of the primary particle
94  unsigned int theUnitID; // Calorimeter Unit Number
95  G4double theTimeSlice; // Time Slice Identification
96  G4double theEnergyDeposit; // Cumulated Energy deposit
97 
98 };
99 
100 #endif