2 // ********************************************************************
3 // * License and Disclaimer *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
26 // $Id: G4VAnalysisManager.hh 70604 2013-06-03 11:27:06Z ihrivnac $
28 #include "G4HnManager.hh"
29 #include "G4VH1Manager.hh"
30 #include "G4VH2Manager.hh"
31 #include "G4VH3Manager.hh"
32 #include "G4VP1Manager.hh"
33 #include "G4VP2Manager.hh"
34 #include "G4VNtupleManager.hh"
35 #include "G4VFileManager.hh"
37 //_____________________________________________________________________________
39 G4bool G4VAnalysisManager::FillH1(G4int id, G4double value, G4double weight)
41 return fVH1Manager->FillH1(id, value, weight);
44 //_____________________________________________________________________________
46 G4bool G4VAnalysisManager::FillH2(G4int id,
47 G4double xvalue, G4double yvalue,
50 return fVH2Manager->FillH2(id, xvalue, yvalue, weight);
53 //_____________________________________________________________________________
55 G4bool G4VAnalysisManager::FillH3(G4int id,
56 G4double xvalue, G4double yvalue, G4double zvalue,
59 return fVH3Manager->FillH3(id, xvalue, yvalue, zvalue, weight);
62 //_____________________________________________________________________________
64 G4bool G4VAnalysisManager::FillP1(G4int id, G4double xvalue, G4double yvalue,
67 return fVP1Manager->FillP1(id, xvalue, yvalue, weight);
70 //_____________________________________________________________________________
72 G4bool G4VAnalysisManager::FillP2(G4int id,
73 G4double xvalue, G4double yvalue, G4double zvalue,
76 return fVP2Manager->FillP2(id, xvalue, yvalue, zvalue, weight);
79 //_____________________________________________________________________________
81 G4bool G4VAnalysisManager::FillNtupleIColumn(G4int columnId, G4int value)
83 return fVNtupleManager->FillNtupleIColumn(columnId, value);
86 //_____________________________________________________________________________
88 G4bool G4VAnalysisManager::FillNtupleFColumn(G4int columnId, G4float value)
90 return fVNtupleManager->FillNtupleFColumn(columnId, value);
93 //_____________________________________________________________________________
95 G4bool G4VAnalysisManager::FillNtupleDColumn(G4int columnId, G4double value)
97 return fVNtupleManager->FillNtupleDColumn(columnId, value);
100 //_____________________________________________________________________________
102 G4bool G4VAnalysisManager::FillNtupleSColumn(G4int columnId, const G4String& value)
104 return fVNtupleManager->FillNtupleSColumn(columnId, value);
107 //_____________________________________________________________________________
109 G4bool G4VAnalysisManager::AddNtupleRow()
111 return fVNtupleManager->AddNtupleRow();
114 //_____________________________________________________________________________
116 G4bool G4VAnalysisManager::FillNtupleIColumn(G4int ntupleId, G4int columnId,
119 return fVNtupleManager->FillNtupleIColumn(ntupleId, columnId, value);
121 //_____________________________________________________________________________
123 G4bool G4VAnalysisManager::FillNtupleFColumn(G4int ntupleId, G4int columnId,
126 return fVNtupleManager->FillNtupleFColumn(ntupleId, columnId, value);
129 //_____________________________________________________________________________
131 G4bool G4VAnalysisManager::FillNtupleDColumn(G4int ntupleId, G4int columnId,
134 return fVNtupleManager->FillNtupleDColumn(ntupleId, columnId, value);
137 //_____________________________________________________________________________
139 G4bool G4VAnalysisManager::FillNtupleSColumn(G4int ntupleId, G4int columnId,
140 const G4String& value)
142 return fVNtupleManager->FillNtupleSColumn(ntupleId, columnId, value);
145 //_____________________________________________________________________________
147 G4bool G4VAnalysisManager::AddNtupleRow(G4int ntupleId)
149 return fVNtupleManager->AddNtupleRow(ntupleId);
152 //_____________________________________________________________________________
154 G4bool G4VAnalysisManager::GetActivation() const
156 return fState.GetIsActivation();
159 //_____________________________________________________________________________
161 G4int G4VAnalysisManager::GetH1Id(const G4String& name, G4bool warn) const
163 return fVH1Manager->GetH1Id(name, warn);
166 //_____________________________________________________________________________
168 G4int G4VAnalysisManager::GetH2Id(const G4String& name, G4bool warn) const
170 return fVH2Manager->GetH2Id(name, warn);
173 //_____________________________________________________________________________
175 G4int G4VAnalysisManager::GetH3Id(const G4String& name, G4bool warn) const
177 return fVH3Manager->GetH3Id(name, warn);
180 //_____________________________________________________________________________
182 G4int G4VAnalysisManager::GetH1Nbins(G4int id) const
184 return fVH1Manager->GetH1Nbins(id);
187 //_____________________________________________________________________________
189 G4double G4VAnalysisManager::GetH1Xmin(G4int id) const
191 // Returns xmin value with applied unit and histogram function
193 return fVH1Manager->GetH1Xmin(id);
196 //_____________________________________________________________________________
198 G4double G4VAnalysisManager::GetH1Xmax(G4int id) const
200 return fVH1Manager->GetH1Xmax(id);
203 //_____________________________________________________________________________
205 G4double G4VAnalysisManager::GetH1Width(G4int id) const
207 return fVH1Manager->GetH1Width(id);
210 //_____________________________________________________________________________
212 G4int G4VAnalysisManager::GetH2Nxbins(G4int id) const
214 return fVH2Manager->GetH2Nxbins(id);
217 //_____________________________________________________________________________
219 G4double G4VAnalysisManager::GetH2Xmin(G4int id) const
221 // Returns xmin value with applied unit and histogram function
223 return fVH2Manager->GetH2Xmin(id);
226 //_____________________________________________________________________________
228 G4double G4VAnalysisManager::GetH2Xmax(G4int id) const
230 return fVH2Manager->GetH2Xmax(id);
233 //_____________________________________________________________________________
235 G4double G4VAnalysisManager::GetH2XWidth(G4int id) const
237 return fVH2Manager->GetH2XWidth(id);
240 //_____________________________________________________________________________
242 G4int G4VAnalysisManager::GetH2Nybins(G4int id) const
244 return fVH2Manager->GetH2Nybins(id);
247 //_____________________________________________________________________________
249 G4double G4VAnalysisManager::GetH2Ymin(G4int id) const
251 // Returns xmin value with applied unit and histogram function
253 return fVH2Manager->GetH2Ymin(id);
256 //_____________________________________________________________________________
258 G4double G4VAnalysisManager::GetH2Ymax(G4int id) const
260 return fVH2Manager->GetH2Ymax(id);
263 //_____________________________________________________________________________
265 G4double G4VAnalysisManager::GetH2YWidth(G4int id) const
267 return fVH2Manager->GetH2YWidth(id);
270 //_____________________________________________________________________________
272 G4int G4VAnalysisManager::GetH3Nxbins(G4int id) const
274 return fVH3Manager->GetH3Nxbins(id);
277 //_____________________________________________________________________________
279 G4double G4VAnalysisManager::GetH3Xmin(G4int id) const
281 // Returns xmin value with applied unit and histogram function
283 return fVH3Manager->GetH3Xmin(id);
286 //_____________________________________________________________________________
288 G4double G4VAnalysisManager::GetH3Xmax(G4int id) const
290 return fVH3Manager->GetH3Xmax(id);
293 //_____________________________________________________________________________
295 G4double G4VAnalysisManager::GetH3XWidth(G4int id) const
297 return fVH3Manager->GetH3XWidth(id);
300 //_____________________________________________________________________________
302 G4int G4VAnalysisManager::GetH3Nybins(G4int id) const
304 return fVH3Manager->GetH3Nybins(id);
307 //_____________________________________________________________________________
309 G4double G4VAnalysisManager::GetH3Ymin(G4int id) const
311 // Returns xmin value with applied unit and histogram function
313 return fVH3Manager->GetH3Ymin(id);
316 //_____________________________________________________________________________
318 G4double G4VAnalysisManager::GetH3Ymax(G4int id) const
320 return fVH3Manager->GetH3Ymax(id);
323 //_____________________________________________________________________________
325 G4double G4VAnalysisManager::GetH3YWidth(G4int id) const
327 return fVH3Manager->GetH3YWidth(id);
330 //_____________________________________________________________________________
332 G4int G4VAnalysisManager::GetH3Nzbins(G4int id) const
334 return fVH3Manager->GetH3Nzbins(id);
337 //_____________________________________________________________________________
339 G4double G4VAnalysisManager::GetH3Zmin(G4int id) const
341 // Returns xmin value with applied unit and histogram function
343 return fVH3Manager->GetH3Zmin(id);
346 //_____________________________________________________________________________
348 G4double G4VAnalysisManager::GetH3Zmax(G4int id) const
350 return fVH3Manager->GetH3Zmax(id);
353 //_____________________________________________________________________________
355 G4double G4VAnalysisManager::GetH3ZWidth(G4int id) const
357 return fVH3Manager->GetH3ZWidth(id);
360 //_____________________________________________________________________________
362 G4int G4VAnalysisManager::GetP1Nbins(G4int id) const
364 return fVP1Manager->GetP1Nbins(id);
367 //_____________________________________________________________________________
369 G4double G4VAnalysisManager::GetP1Xmin(G4int id) const
371 // Returns xmin value with applied unit and histogram function
373 return fVP1Manager->GetP1Xmin(id);
376 //_____________________________________________________________________________
378 G4double G4VAnalysisManager::GetP1Xmax(G4int id) const
380 return fVP1Manager->GetP1Xmax(id);
383 //_____________________________________________________________________________
385 G4double G4VAnalysisManager::GetP1XWidth(G4int id) const
387 return fVP1Manager->GetP1XWidth(id);
390 //_____________________________________________________________________________
392 G4double G4VAnalysisManager::GetP1Ymin(G4int id) const
394 // Returns xmin value with applied unit and histogram function
396 return fVP1Manager->GetP1Ymin(id);
399 //_____________________________________________________________________________
401 G4double G4VAnalysisManager::GetP1Ymax(G4int id) const
403 return fVP1Manager->GetP1Ymax(id);
406 //_____________________________________________________________________________
408 G4int G4VAnalysisManager::GetP2Nxbins(G4int id) const
410 return fVP2Manager->GetP2Nxbins(id);
413 //_____________________________________________________________________________
415 G4double G4VAnalysisManager::GetP2Xmin(G4int id) const
417 // Returns xmin value with applied unit and histogram function
419 return fVP2Manager->GetP2Xmin(id);
422 //_____________________________________________________________________________
424 G4double G4VAnalysisManager::GetP2Xmax(G4int id) const
426 return fVP2Manager->GetP2Xmax(id);
429 //_____________________________________________________________________________
431 G4double G4VAnalysisManager::GetP2XWidth(G4int id) const
433 return fVP2Manager->GetP2XWidth(id);
436 //_____________________________________________________________________________
438 G4int G4VAnalysisManager::GetP2Nybins(G4int id) const
440 return fVP2Manager->GetP2Nybins(id);
443 //_____________________________________________________________________________
445 G4double G4VAnalysisManager::GetP2Ymin(G4int id) const
447 // Returns xmin value with applied unit and histogram function
449 return fVP2Manager->GetP2Ymin(id);
452 //_____________________________________________________________________________
454 G4double G4VAnalysisManager::GetP2Ymax(G4int id) const
456 return fVP2Manager->GetP2Ymax(id);
459 //_____________________________________________________________________________
461 G4double G4VAnalysisManager::GetP2YWidth(G4int id) const
463 return fVP2Manager->GetP2YWidth(id);
466 //_____________________________________________________________________________
468 G4double G4VAnalysisManager::GetP2Zmin(G4int id) const
470 // Returns xmin value with applied unit and histogram function
472 return fVP2Manager->GetP2Zmin(id);
475 //_____________________________________________________________________________
477 G4double G4VAnalysisManager::GetP2Zmax(G4int id) const
479 return fVP2Manager->GetP2Zmax(id);
482 //_____________________________________________________________________________
484 G4String G4VAnalysisManager::GetH1Name(G4int id) const
486 return fH1HnManager->GetName(id);
489 //_____________________________________________________________________________
491 G4double G4VAnalysisManager::GetH1Unit(G4int id) const
493 return fH1HnManager->GetXUnit(id);
496 //_____________________________________________________________________________
498 G4bool G4VAnalysisManager::GetH1Activation(G4int id) const
500 return fH1HnManager->GetActivation(id);
503 //_____________________________________________________________________________
505 G4bool G4VAnalysisManager::GetH1Ascii(G4int id) const
507 return fH1HnManager->GetAscii(id);
510 //_____________________________________________________________________________
512 G4String G4VAnalysisManager::GetH2Name(G4int id) const
514 return fH2HnManager->GetName(id);
517 //_____________________________________________________________________________
519 G4double G4VAnalysisManager::GetH2XUnit(G4int id) const
521 return fH2HnManager->GetXUnit(id);
524 //_____________________________________________________________________________
526 G4double G4VAnalysisManager::GetH2YUnit(G4int id) const
528 return fH2HnManager->GetYUnit(id);
531 //_____________________________________________________________________________
533 G4bool G4VAnalysisManager::GetH2Activation(G4int id) const
535 return fH2HnManager->GetActivation(id);
538 //_____________________________________________________________________________
540 G4bool G4VAnalysisManager::GetH2Ascii(G4int id) const
542 return fH2HnManager->GetAscii(id);
546 //_____________________________________________________________________________
548 G4String G4VAnalysisManager::GetH3Name(G4int id) const
550 return fH3HnManager->GetName(id);
553 //_____________________________________________________________________________
555 G4double G4VAnalysisManager::GetH3XUnit(G4int id) const
557 return fH3HnManager->GetXUnit(id);
560 //_____________________________________________________________________________
562 G4double G4VAnalysisManager::GetH3YUnit(G4int id) const
564 return fH3HnManager->GetYUnit(id);
567 //_____________________________________________________________________________
569 G4double G4VAnalysisManager::GetH3ZUnit(G4int id) const
571 return fH3HnManager->GetZUnit(id);
574 //_____________________________________________________________________________
576 G4bool G4VAnalysisManager::GetH3Activation(G4int id) const
578 return fH3HnManager->GetActivation(id);
581 //_____________________________________________________________________________
583 G4bool G4VAnalysisManager::GetH3Ascii(G4int id) const
585 return fH3HnManager->GetAscii(id);
589 //_____________________________________________________________________________
591 G4String G4VAnalysisManager::GetP1Name(G4int id) const
593 return fP1HnManager->GetName(id);
596 //_____________________________________________________________________________
598 G4double G4VAnalysisManager::GetP1XUnit(G4int id) const
600 return fP1HnManager->GetXUnit(id);
603 //_____________________________________________________________________________
605 G4double G4VAnalysisManager::GetP1YUnit(G4int id) const
607 return fP1HnManager->GetYUnit(id);
610 //_____________________________________________________________________________
612 G4bool G4VAnalysisManager::GetP1Activation(G4int id) const
614 return fP1HnManager->GetActivation(id);
617 //_____________________________________________________________________________
619 G4bool G4VAnalysisManager::GetP1Ascii(G4int id) const
621 return fP1HnManager->GetAscii(id);
625 //_____________________________________________________________________________
627 G4String G4VAnalysisManager::GetP2Name(G4int id) const
629 return fP2HnManager->GetName(id);
632 //_____________________________________________________________________________
634 G4double G4VAnalysisManager::GetP2XUnit(G4int id) const
636 return fP2HnManager->GetXUnit(id);
639 //_____________________________________________________________________________
641 G4double G4VAnalysisManager::GetP2YUnit(G4int id) const
643 return fP2HnManager->GetYUnit(id);
646 //_____________________________________________________________________________
648 G4double G4VAnalysisManager::GetP2ZUnit(G4int id) const
650 return fP2HnManager->GetZUnit(id);
653 //_____________________________________________________________________________
655 G4bool G4VAnalysisManager::GetP2Activation(G4int id) const
657 return fP2HnManager->GetActivation(id);
660 //_____________________________________________________________________________
662 G4bool G4VAnalysisManager::GetP2Ascii(G4int id) const
664 return fP2HnManager->GetAscii(id);
668 //_____________________________________________________________________________
670 G4bool G4VAnalysisManager::SetH1Title(G4int id, const G4String& title)
672 return fVH1Manager->SetH1Title(id, title);
675 //_____________________________________________________________________________
677 G4bool G4VAnalysisManager::SetH1XAxisTitle(G4int id, const G4String& title)
679 return fVH1Manager->SetH1XAxisTitle(id, title);
682 //_____________________________________________________________________________
684 G4bool G4VAnalysisManager::SetH1YAxisTitle(G4int id, const G4String& title)
686 return fVH1Manager->SetH1YAxisTitle(id, title);
689 //_____________________________________________________________________________
691 G4bool G4VAnalysisManager::SetH2Title(G4int id, const G4String& title)
693 return fVH2Manager->SetH2Title(id, title);
696 //_____________________________________________________________________________
698 G4bool G4VAnalysisManager::SetH2XAxisTitle(G4int id, const G4String& title)
700 return fVH2Manager->SetH2XAxisTitle(id, title);
703 //_____________________________________________________________________________
705 G4bool G4VAnalysisManager::SetH2YAxisTitle(G4int id, const G4String& title)
707 return fVH2Manager->SetH2YAxisTitle(id, title);
710 //_____________________________________________________________________________
712 G4bool G4VAnalysisManager::SetH2ZAxisTitle(G4int id, const G4String& title)
714 return fVH2Manager->SetH2ZAxisTitle(id, title);
717 //_____________________________________________________________________________
719 G4bool G4VAnalysisManager::SetH3Title(G4int id, const G4String& title)
721 return fVH3Manager->SetH3Title(id, title);
724 //_____________________________________________________________________________
726 G4bool G4VAnalysisManager::SetH3XAxisTitle(G4int id, const G4String& title)
728 return fVH3Manager->SetH3XAxisTitle(id, title);
731 //_____________________________________________________________________________
733 G4bool G4VAnalysisManager::SetH3YAxisTitle(G4int id, const G4String& title)
735 return fVH3Manager->SetH3YAxisTitle(id, title);
738 //_____________________________________________________________________________
740 G4bool G4VAnalysisManager::SetH3ZAxisTitle(G4int id, const G4String& title)
742 return fVH3Manager->SetH3ZAxisTitle(id, title);
745 //_____________________________________________________________________________
747 G4bool G4VAnalysisManager::SetP1Title(G4int id, const G4String& title)
749 return fVP1Manager->SetP1Title(id, title);
752 //_____________________________________________________________________________
754 G4bool G4VAnalysisManager::SetP1XAxisTitle(G4int id, const G4String& title)
756 return fVP1Manager->SetP1XAxisTitle(id, title);
759 //_____________________________________________________________________________
761 G4bool G4VAnalysisManager::SetP1YAxisTitle(G4int id, const G4String& title)
763 return fVP1Manager->SetP1YAxisTitle(id, title);
766 //_____________________________________________________________________________
768 G4bool G4VAnalysisManager::SetP2Title(G4int id, const G4String& title)
770 return fVP2Manager->SetP2Title(id, title);
773 //_____________________________________________________________________________
775 G4bool G4VAnalysisManager::SetP2XAxisTitle(G4int id, const G4String& title)
777 return fVP2Manager->SetP2XAxisTitle(id, title);
780 //_____________________________________________________________________________
782 G4bool G4VAnalysisManager::SetP2YAxisTitle(G4int id, const G4String& title)
784 return fVP2Manager->SetP2YAxisTitle(id, title);
787 //_____________________________________________________________________________
789 G4bool G4VAnalysisManager::SetP2ZAxisTitle(G4int id, const G4String& title)
791 return fVP2Manager->SetP2ZAxisTitle(id, title);
794 //_____________________________________________________________________________
796 G4String G4VAnalysisManager::GetH1Title(G4int id) const
798 return fVH1Manager->GetH1Title(id);
801 //_____________________________________________________________________________
803 G4String G4VAnalysisManager::GetH1XAxisTitle(G4int id) const
805 return fVH1Manager->GetH1XAxisTitle(id);
808 //_____________________________________________________________________________
810 G4String G4VAnalysisManager::GetH1YAxisTitle(G4int id) const
812 return fVH1Manager->GetH1YAxisTitle(id);
815 //_____________________________________________________________________________
817 G4String G4VAnalysisManager::GetH2Title(G4int id) const
819 return fVH2Manager->GetH2Title(id);
822 //_____________________________________________________________________________
824 G4String G4VAnalysisManager::GetH2XAxisTitle(G4int id) const
826 return fVH2Manager->GetH2XAxisTitle(id);
829 //_____________________________________________________________________________
831 G4String G4VAnalysisManager::GetH2YAxisTitle(G4int id) const
833 return fVH2Manager->GetH2YAxisTitle(id);
836 //_____________________________________________________________________________
838 G4String G4VAnalysisManager::GetH2ZAxisTitle(G4int id) const
840 return fVH2Manager->GetH2ZAxisTitle(id);
843 //_____________________________________________________________________________
845 G4String G4VAnalysisManager::GetH3Title(G4int id) const
847 return fVH3Manager->GetH3Title(id);
850 //_____________________________________________________________________________
852 G4String G4VAnalysisManager::GetH3XAxisTitle(G4int id) const
854 return fVH3Manager->GetH3XAxisTitle(id);
857 //_____________________________________________________________________________
859 G4String G4VAnalysisManager::GetH3YAxisTitle(G4int id) const
861 return fVH3Manager->GetH3YAxisTitle(id);
864 //_____________________________________________________________________________
866 G4String G4VAnalysisManager::GetH3ZAxisTitle(G4int id) const
868 return fVH3Manager->GetH3ZAxisTitle(id);
871 //_____________________________________________________________________________
873 G4String G4VAnalysisManager::GetP1Title(G4int id) const
875 return fVP1Manager->GetP1Title(id);
878 //_____________________________________________________________________________
880 G4String G4VAnalysisManager::GetP1XAxisTitle(G4int id) const
882 return fVP1Manager->GetP1XAxisTitle(id);
885 //_____________________________________________________________________________
887 G4String G4VAnalysisManager::GetP1YAxisTitle(G4int id) const
889 return fVP1Manager->GetP1YAxisTitle(id);
892 //_____________________________________________________________________________
894 G4String G4VAnalysisManager::GetP2Title(G4int id) const
896 return fVP2Manager->GetP2Title(id);
899 //_____________________________________________________________________________
901 G4String G4VAnalysisManager::GetP2XAxisTitle(G4int id) const
903 return fVP2Manager->GetP2XAxisTitle(id);
906 //_____________________________________________________________________________
908 G4String G4VAnalysisManager::GetP2YAxisTitle(G4int id) const
910 return fVP2Manager->GetP2YAxisTitle(id);
913 //_____________________________________________________________________________
915 G4String G4VAnalysisManager::GetP2ZAxisTitle(G4int id) const
917 return fVP2Manager->GetP2ZAxisTitle(id);
920 //_____________________________________________________________________________
922 G4int G4VAnalysisManager::GetVerboseLevel() const
924 return fState.GetVerboseLevel();
927 //_____________________________________________________________________________
929 G4String G4VAnalysisManager::GetType() const
931 return fState.GetType();
934 //_____________________________________________________________________________
936 G4String G4VAnalysisManager::GetFileType() const
938 return fVFileManager->GetFileType();