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