34#define DBG( msg ) G4cout<<msg<<G4endl
38#define VDBG( vl , msg ) if ( vl<=verboseLevel ) G4cout<<msg<<G4endl
46 VDBG(1,
"Creating G4MultiSenstiveDetector with name: "<<name);
51 VDBG(2,
GetName()<<
" : Destructing G4MultiSensitiveDetector");
57 fSensitiveDetectors(rhs.fSensitiveDetectors)
68 fSensitiveDetectors = rhs.fSensitiveDetectors;
92 for (
auto sd : fSensitiveDetectors ) sd->clear();
98 for (
auto sd : fSensitiveDetectors ) sd->DrawAll();
104 for (
auto sd : fSensitiveDetectors ) sd->PrintAll();
112 for (
auto sd : fSensitiveDetectors )
113 result &= sd->Hit(aStep);
120 msg <<
GetName()<<
" : This method cannot be called for an instance of type G4MultiSensitiveDetector."
121 <<
" First retrieve a contained G4VSensitiveDetector with. i.e. GetSD and then "
122 <<
" call this method.";
130 VDBG(2,
GetName()<<
"Cloning an instance of G4MultiSensitiveDetector");
132 for (
auto sd : fSensitiveDetectors )
133 newInst->
AddSD( sd->Clone() );
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4MultiSensitiveDetector & operator=(const G4MultiSensitiveDetector &rhs)
virtual G4int GetCollectionID(G4int i) final
void AddSD(G4VSensitiveDetector *sd)
virtual void Initialize(G4HCofThisEvent *)
virtual void EndOfEvent(G4HCofThisEvent *)
virtual G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROhist)
virtual ~G4MultiSensitiveDetector()
virtual G4VSensitiveDetector * Clone() const
G4MultiSensitiveDetector(G4String name)
G4double GetTotalEnergyDeposit() const
G4VSensitiveDetector & operator=(const G4VSensitiveDetector &right)