1 #ifndef SimG4CMS_HFShowerLibrary_h 2 #define SimG4CMS_HFShowerLibrary_h 1 15 #include "G4ThreeVector.hh" 26 class G4ParticleTable;
45 std::vector<Hit>
getHits(
const G4Step *aStep,
bool &
ok,
double weight,
bool onlyLong =
false);
46 std::vector<Hit>
fillHits(
const G4ThreeVector &
p,
47 const G4ThreeVector &
v,
53 bool onlyLong =
false);
97 if (0 < maxRecordsToCache) {
114 size_t maxRecordsToCache,
119 std::shared_ptr<BranchCache const>
cache_;
134 std::unique_ptr<TFile>
hf_;
static HFShowerPhotonCollection getRecordOldForm(TBranch *, int iEntry)
BranchCache(BranchReader &, size_t maxRecordsToCache)
std::vector< Hit > getHits(const G4Step *aStep, bool &ok, double weight, bool onlyLong=false)
void storePhoton(HFShowerPhoton const &iPhoton, HFShowerPhotonCollection &iPhotons) const
HFShowerPhotonCollection getRecord(int, int) const
std::string emBranchName_
std::string hadBranchName_
std::size_t numberOfRecords() const
HFShowerPhotonCollection extrapolate(int, double)
std::vector< double > gpar_
void doCaching(size_t maxRecords)
std::unique_ptr< TFile > hf_
VersionInfo loadEventInfo(TBranch *, int fileVersion)
std::vector< HFShowerPhoton > HFShowerPhotonCollection
HFShowerPhotonCollection interpolate(int, double)
std::string branchEvInfo_
std::shared_ptr< BranchCache const > cache_
static std::shared_ptr< BranchCache const > makeCache(BranchReader &, size_t maxRecordsToCache, std::string const &iFileName, std::string const &iBranchName)
std::vector< double > pmom_
HFShowerPhotonCollection getRecord(int) const
HFShowerLibrary(const std::string &name, const HcalDDDSimConstants *hcons, const HcalSimulationParameters *hps, edm::ParameterSet const &p)
static HFShowerPhotonCollection getRecordNewForm(TBranch *, int iEntry)
std::vector< std::size_t > offsets_
static HFShowerPhotonCollection getRecordNewFormV3(TBranch *, int iEntry)
HFShowerPhotonCollection photons_
BranchReader(TBranch *iBranch, FileFormat iFormat, size_t iReadOffset, size_t maxRecordsToCache)
std::vector< Hit > fillHits(const G4ThreeVector &p, const G4ThreeVector &v, int parCode, double parEnergy, bool &ok, double weight, double time, bool onlyLong=false)
bool rInside(double r) const
HFShowerPhotonCollection getRecord(int) const