BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Simulation/BOOST/SimUtil/include/SimUtil/BesSubdetector.hh
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2// BOOST --- BESIII Object_Oriented Simulation Tool //
3//---------------------------------------------------------------------------//
4// Descpirtion: abstract virtual class BES subdetector
5// Author: Liuhm
6// Created: May 14, 2003
7// Comment:
8//---------------------------------------------------------------------------//
9#ifndef BesSubdetector_H
10#define BesSubdetector_H 1
11
12class G4LogicalVolume;
13
14#include "G4Processor/GDMLProcessor.h"
15#include "Saxana/ProcessingConfigurator.h"
16#include "Saxana/SAXProcessor.h"
17
18class BesSubdetector {
19public:
21 virtual ~BesSubdetector() { ; }
22
23 // construct your detector and position it in BES world volume
24 // You MUST derive your concrete class and implement it
25
26 virtual void Construct( G4LogicalVolume* bes ) = 0;
27 G4LogicalVolume* FindLogicalVolume( const G4String& vn );
28
29protected:
30 // G4LogicalVolume* besWorld;
31 SAXProcessor m_sxp;
32 ProcessingConfigurator m_config;
33};
34
35inline G4LogicalVolume* BesSubdetector::FindLogicalVolume( const G4String& vn ) {
36 return const_cast<G4LogicalVolume*>( GDMLProcessor::GetInstance()->GetLogicalVolume( vn ) );
37}
38
39#endif
G4LogicalVolume * FindLogicalVolume(const G4String &vn)
virtual void Construct(G4LogicalVolume *bes)=0