LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
AuxDetReadout.h
Go to the documentation of this file.
1 
7 #ifndef LARG4_AUXDETREADOUT_H
8 #define LARG4_AUXDETREADOUT_H
9 
10 #include "Geant4/G4Types.hh"
11 #include "Geant4/G4VSensitiveDetector.hh"
12 
14 
17 
18 #include <vector>
19 
20 // Forward declarations
21 class G4HCofThisEvent;
22 class G4TouchableHistory;
23 class G4Step;
24 
25 namespace larg4 {
26 
27  class AuxDetReadout : public G4VSensitiveDetector {
28  public:
29  // Constructor.
30  AuxDetReadout(std::string const& name, unsigned int adNum, unsigned int svNum);
31 
32  // Destructor
33  virtual ~AuxDetReadout();
34 
35  // Required for classes that inherit from G4VSensitiveDetector.
36  //
37  // Called at start and end of each event.
38  virtual void Initialize(G4HCofThisEvent*);
39  virtual void EndOfEvent(G4HCofThisEvent*);
40 
41  // Called to clear any accumulated information.
42  virtual void clear();
43 
44  // The key method of this class. It's called by Geant4 for each
45  // step within the read-out geometry. It accumulates the energy
46  // in the G4Step in the ?.
47  virtual G4bool ProcessHits(G4Step*, G4TouchableHistory*);
48 
49  // Moved here from AuxDetSimChannel
50  virtual void AddParticleStep(int inputTrackID,
51  float inputEnergyDeposited,
52  float inputEntryX,
53  float inputEntryY,
54  float inputEntryZ,
55  float inputEntryT,
56  float inputExitX,
57  float inputExitY,
58  float inputExitZ,
59  float inputExitT,
60  float inputExitMomentumX,
61  float inputExitMomentumY,
62  float inputExitMomentumZ);
63 
64  // Empty methods; they have to be defined, but they're rarely
65  // used in Geant4 applications.
66  virtual void DrawAll();
67  virtual void PrintAll();
68 
69  // Independent method; returns the accumulated information
71 
72  private:
74  uint32_t fAuxDet;
75  uint32_t
78  std::vector<sim::AuxDetIDE> fAuxDetIDEs;
79  };
80 }
81 
82 #endif // LARG4_AUXDETREADOUT_H
AuxDetReadout(std::string const &name, unsigned int adNum, unsigned int svNum)
virtual G4bool ProcessHits(G4Step *, G4TouchableHistory *)
virtual void PrintAll()
Geant4 interface.
virtual void EndOfEvent(G4HCofThisEvent *)
Collection of particles crossing one auxiliary detector cell.
uint32_t fAuxDet
which AuxDet this AuxDetReadout corresponds to
Definition: AuxDetReadout.h:74
object containing MC truth information necessary for making RawDigits and doing back tracking ...
virtual void DrawAll()
virtual void clear()
art::ServiceHandle< geo::Geometry const > fGeoHandle
Handle to the Geometry service.
Definition: AuxDetReadout.h:70
virtual void AddParticleStep(int inputTrackID, float inputEnergyDeposited, float inputEntryX, float inputEntryY, float inputEntryZ, float inputEntryT, float inputExitX, float inputExitY, float inputExitZ, float inputExitT, float inputExitMomentumX, float inputExitMomentumY, float inputExitMomentumZ)
sim::AuxDetSimChannel fAuxDetSimChannel
Contains the sim::AuxDetSimChannel for this AuxDet.
Definition: AuxDetReadout.h:77
std::vector< sim::AuxDetIDE > fAuxDetIDEs
list of IDEs in one channel
Definition: AuxDetReadout.h:78
virtual void Initialize(G4HCofThisEvent *)
sim::AuxDetSimChannel const GetAuxDetSimChannel() const
Definition: AuxDetReadout.h:70
art framework interface to geometry description
uint32_t fAuxDetSensitive
which sensitive volume of the AuxDet this AuxDetReadout corresponds to
Definition: AuxDetReadout.h:76