Go to the documentation of this file.
7 #ifndef PPS_PPSDiamondSD_h
8 #define PPS_PPSDiamondSD_h
24 class G4HCofThisEvent;
29 public Observer<const BeginOfEvent*>,
40 void Initialize(G4HCofThisEvent* HCE)
override;
41 void EndOfEvent(G4HCofThisEvent* eventHC)
override;
42 void clear()
override;
55 void update(const ::EndOfEvent*)
override;
58 std::unique_ptr<TrackingSlaveSD>
slave_;
64 G4ThreeVector
setToLocal(
const G4ThreeVector& globalPoint);
106 #endif // PPS_PPSDiamondSD_h
void storeHit(PPSDiamondG4Hit *)
G4THitsCollection< PPSDiamondG4Hit > PPSDiamondG4HitCollection
void stepInfo(const G4Step *aStep)
static constexpr unsigned int maxDiamondHits_
void fillHits(edm::PSimHitContainer &, const std::string &) override
void clearTrack(G4Track *Track)
G4ThreeVector theLocalExitPoint_
G4ThreeVector theLocalEntryPoint_
void resetForNewPrimary()
bool ProcessHits(G4Step *step, G4TouchableHistory *tHistory) override
PPSDiamondG4Hit * currentHit_
void EndOfEvent(G4HCofThisEvent *eventHC) override
G4ThreeVector setToLocal(const G4ThreeVector &globalPoint)
void setNumberingScheme(PPSVDetectorOrganization *scheme)
std::unique_ptr< PPSVDetectorOrganization > numberingScheme_
G4StepPoint * preStepPoint_
PPSDiamondG4HitCollection * theHC_
void update(const BeginOfEvent *) override
This routine will be called when the appropriate signal arrives.
bool isPrimary(const G4Track *track)
G4VPhysicalVolume * currentPV_
G4ThreeVector entrancePoint_
PPSDiamondSD(const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
std::unique_ptr< TrackingSlaveSD > slave_
std::vector< PSimHit > PSimHitContainer
G4StepPoint * postStepPoint_
void Initialize(G4HCofThisEvent *HCE) override
uint32_t setDetUnitId(const G4Step *step) override
void clearHits() override