VMC Examples Version 6.6
Loading...
Searching...
No Matches
Ex03cCalorimeterSD.h
Go to the documentation of this file.
1#ifndef EX03_CALORIMETER_SD_H
2#define EX03_CALORIMETER_SD_H
3
4//------------------------------------------------
5// The Virtual Monte Carlo examples
6// Copyright (C) 2014 - 2018 Ivana Hrivnacova
7// All rights reserved.
8//
9// For the licensing terms see geant4_vmc/LICENSE.
10// Contact: root-vmc@cern.ch
11//-------------------------------------------------
12
13/// \file Ex03cCalorimeterSD.h
14/// \brief Definition of the Ex03cCalorimeterSD class
15///
16/// Geant4 ExampleN03 adapted to Virtual Monte Carlo: \n
17/// Id: ExN03CalorimeterSD.hh,v 1.4 2002/01/09 17:24:11 ranjard Exp
18/// GEANT4 tag Name: geant4-05-00
19///
20/// \author Benedikt Volkel, CERN
21
22#include <TClonesArray.h>
23#include <TNamed.h>
24
26class Ex03CalorHit;
27class TVirtualMC;
28
29/// \ingroup E03
30/// \brief The calorimeter sensitive detector
31///
32/// A variant of the Ex03CalorimeterSD class
33/// updated for multiple engine runs.
34///
35/// \date 21/08/2019
36/// \author Benedikt Volkel, CERN
37
39{
40 public:
41 Ex03cCalorimeterSD(const char* name, Ex03cDetectorConstruction* detector);
43 const Ex03cCalorimeterSD& origin, Ex03cDetectorConstruction* detector);
45 virtual ~Ex03cCalorimeterSD();
46
47 // methods
48 void Initialize();
49 Bool_t ProcessHits();
50 void EndOfEvent();
51 void Register();
52 virtual void Print(Option_t* option = "") const;
53 void PrintTotal() const;
54
55 // set methods
56 void SetVerboseLevel(Int_t level);
57
58 // get methods
59 Ex03CalorHit* GetHit(Int_t i) const;
60
61 private:
62 // methods
63 void ResetHits();
64
65 // data members
66 TVirtualMC* fMC; ///< The VMC implementation
67 Ex03cDetectorConstruction* fDetector; ///< Detector construction
68 TClonesArray* fCalCollection; ///< Hits collection
69 Int_t fAbsorberVolId; ///< The absorber volume Id
70 Int_t fGapVolId; ///< The gap volume Id
71 Int_t fVerboseLevel; ///< Verbosity level
72
73 ClassDef(Ex03cCalorimeterSD, 1) // Ex03cCalorimeterSD
74};
75
76/// Set verbose level
77/// \param level The new verbose level value
79{
80 fVerboseLevel = level;
81}
82
83#endif // EX02_CALORIMETER_SD_H
The calorimeter hit.
The calorimeter sensitive detector.
Int_t fAbsorberVolId
The absorber volume Id.
Int_t fVerboseLevel
Verbosity level.
Int_t fGapVolId
The gap volume Id.
Ex03CalorHit * GetHit(Int_t i) const
TVirtualMC * fMC
The VMC implementation.
virtual void Print(Option_t *option="") const
void SetVerboseLevel(Int_t level)
Ex03cDetectorConstruction * fDetector
Detector construction.
TClonesArray * fCalCollection
Hits collection.
The detector construction (via TGeo )