ROBAST logo
/******************************************************************************
 * Copyright (C) 2006-, Akira Okumura                                         *
 * All rights reserved.                                                       *
 *****************************************************************************/

///////////////////////////////////////////////////////////////////////////////
//
// ABorderSurfaceCondition
//
// Defines the condition of the boarder surface between two components. Works as
// G4LogicalBorderSurface + G4OpticalSurface in Geant4.
//
///////////////////////////////////////////////////////////////////////////////

#include "ABorderSurfaceCondition.h"
#include "AOpticalComponent.h"

ClassImp(ABorderSurfaceCondition);

ABorderSurfaceCondition::ABorderSurfaceCondition(AOpticalComponent* component1,
                                                 AOpticalComponent* component2)
    : fSigma(0), fMultilayer(0) {
  fComponent[0] = component1;
  fComponent[1] = component2;

  if (!component1) {
    return;
  }

  component1->AddBorderSurfaceCondition(this);
}

//______________________________________________________________________________
ABorderSurfaceCondition::~ABorderSurfaceCondition() {}

//______________________________________________________________________________
void ABorderSurfaceCondition::SetGaussianRoughness(Double_t sigma /* (rad) */) {
  // Set Gaussian-like roughness in unit of (rad). Works as sigma_alpha in
  // Geant4 optics.
  fSigma = TMath::Abs(sigma);
}
 ABorderSurfaceCondition.cxx:1
 ABorderSurfaceCondition.cxx:2
 ABorderSurfaceCondition.cxx:3
 ABorderSurfaceCondition.cxx:4
 ABorderSurfaceCondition.cxx:5
 ABorderSurfaceCondition.cxx:6
 ABorderSurfaceCondition.cxx:7
 ABorderSurfaceCondition.cxx:8
 ABorderSurfaceCondition.cxx:9
 ABorderSurfaceCondition.cxx:10
 ABorderSurfaceCondition.cxx:11
 ABorderSurfaceCondition.cxx:12
 ABorderSurfaceCondition.cxx:13
 ABorderSurfaceCondition.cxx:14
 ABorderSurfaceCondition.cxx:15
 ABorderSurfaceCondition.cxx:16
 ABorderSurfaceCondition.cxx:17
 ABorderSurfaceCondition.cxx:18
 ABorderSurfaceCondition.cxx:19
 ABorderSurfaceCondition.cxx:20
 ABorderSurfaceCondition.cxx:21
 ABorderSurfaceCondition.cxx:22
 ABorderSurfaceCondition.cxx:23
 ABorderSurfaceCondition.cxx:24
 ABorderSurfaceCondition.cxx:25
 ABorderSurfaceCondition.cxx:26
 ABorderSurfaceCondition.cxx:27
 ABorderSurfaceCondition.cxx:28
 ABorderSurfaceCondition.cxx:29
 ABorderSurfaceCondition.cxx:30
 ABorderSurfaceCondition.cxx:31
 ABorderSurfaceCondition.cxx:32
 ABorderSurfaceCondition.cxx:33
 ABorderSurfaceCondition.cxx:34
 ABorderSurfaceCondition.cxx:35
 ABorderSurfaceCondition.cxx:36
 ABorderSurfaceCondition.cxx:37
 ABorderSurfaceCondition.cxx:38
 ABorderSurfaceCondition.cxx:39
 ABorderSurfaceCondition.cxx:40
 ABorderSurfaceCondition.cxx:41