SiPMReadoutSimAlg.h
Go to the documentation of this file.
1 //
2 // ECALReadoutSimAlg.h
3 //
4 // Created by Eldwan Brianne on 8/27/18.
5 //
6 
7 #ifndef GAR_READOUTSIMULATION_SiPMReadoutSimAlg_hpp
8 #define GAR_READOUTSIMULATION_SiPMReadoutSimAlg_hpp
9 
12 
13 #include "DetectorInfo/DetectorProperties.h"
14 #include "Geometry/GeometryCore.h"
15 
16 #include <map>
17 
18 #include "CLHEP/Random/RandGauss.h"
19 
20 namespace fhicl {
21  class ParameterSet;
22 }
23 
24 namespace gar {
25 
26  namespace rosim {
27 
29 
30  public:
31 
32  SiPMReadoutSimAlg(CLHEP::HepRandomEngine& engine, fhicl::ParameterSet const& pset);
33 
34  virtual ~SiPMReadoutSimAlg();
35 
36  virtual void reconfigure(fhicl::ParameterSet const& pset) = 0;
37 
38  virtual void PrepareAlgo(const std::vector< art::Ptr<sdp::CaloDeposit> > &hitVector) = 0;
39 
40  virtual void DoDigitization() = 0;
41 
42  virtual std::vector< raw::CaloRawDigit* > GetDigitizedHits() const = 0;
43 
44  protected:
45 
46  CLHEP::HepRandomEngine& fEngine; ///< random number engine
47  bool fAddNoise; ///< flag to add noise or not
48  bool fSaturation; ///< flag for sipm saturation or not
49  bool fTimeSmearing; ///< flag for time smearing or not
50 
51  const detinfo::DetectorProperties* fDetProp; ///< detector properties
52  gar::geo::GeometryCore const* fGeo; ///< geometry information
53 
54  };
55 
56  } // end rosim
57 
58 } // end gar
59 
60 
61 #endif /* GAR_READOUTSIMULATION_SiPMReadoutSimAlg_hpp */
bool fSaturation
flag for sipm saturation or not
struct vector vector
CLHEP::HepRandomEngine & fEngine
random number engine
Description of geometry of one entire detector.
Definition: GeometryCore.h:436
const detinfo::DetectorProperties * fDetProp
detector properties
bool fAddNoise
flag to add noise or not
virtual void reconfigure(fhicl::ParameterSet const &pset)
Definition of basic calo raw digits.
General GArSoft Utilities.
bool fTimeSmearing
flag for time smearing or not
Definition: fwd.h:31
gar::geo::GeometryCore const * fGeo
geometry information